intent.getAction()被返回NULL(intent.getAction() is re

2019-07-20 11:06发布

在我的应用程序,我添加了一个闪屏,我已经创造了飞溅的活动,并作出清单文件进行相应的修改。 然而,当我现在运行我的应用程序,在启动画面显示其分配的时间,然后返回一个NullPointerException。 该问题是由引起

 intent.getAction()

在我的飞溅重定向到,intent.getAction类(241线)返回null。 这是我的理解是,动作从指定的活动清单文件抓起。 这是不是它是否正确? 如果是这样,有人可以看看这个,看看我有鸡奸的东西了? 我认为没有错。

 <activity android:name=".Main"
              android:label="@string/app_name">       

    </activity>

   <activity android:name=".SplashActivity" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">

            <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
            <action android:name="android.intent.action.GET_CONTENT" />

            <data android:mimeType="*/*" />
            <category android:name="android.intent.category.OPENABLE" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>

__ _ __ _ __ _ 被检索的操作如果声明 _ _ __ __ _ __ _ ____

 Intent intent = getIntent();

    System.out.println("Intent action is " + intent.getAction());
    if(intent.getAction().equals(Intent.ACTION_GET_CONTENT)) {
        bimg[5].setVisibility(View.GONE);
        mReturnIntent = true;
 } else if (intent.getAction().equals(ACTION_WIDGET)) {
        Log.e("MAIN", "Widget action, string = " + intent.getExtras().getString("folder"));
        mHandler.updateDirectory(mFileMag.getNextDir(intent.getExtras().getString("folder"), true));

    }
}

Answer 1:

该行动是从启动该活动的意图抓住。 清单意图过滤器定义什么样的意图将在除了那些直接指定活动为目标相匹配。

这是完全正常的动作为空,如果你开始像这样的活动:

startActivity(new Intent(this, MyTargetActivity.class));

你没有指定意向的动作,所以没有一个。 测试时所接收到的意图的行动,但是这是扭转这样的检查:

if (Intent.ACTION_GET_CONTENT.equals(intent.getAction())) {
    // ...
}

以避免一个明确的空检查的需要,由于定Intent.ACTION_GET_CONTENT不会为空。

(请注意,您的代码仍然将不得不做一些合理的,即使没有你的行动检查在这样的情况下匹配。)



文章来源: intent.getAction() is returning NULL