Android Intent获得NULL

时间:2014-10-18 12:43:40

标签: android android-intent null

在我的应用程序中,我使用了以下内容,

        String launch = rowItems.get(position).getApplauncher().toString();

        Intent in = getPackageManager().getLaunchIntentForPackage(
                launch);

        System.out.println("lauch=" + launch);
        System.out.println("intent=" + in);
        startActivity(in);

因为我正确地启动了String not null

但之后在Intent中传递,Intent打印 null

我也尝试使用** Intent in = getPackageManager()。getLaunchIntentForPackage(                     getPackageName());

它工作正常,而且不是null, 那么为什么我的String意图变为null, 我对System.out.println的字符串意图打印如下(在logcat中):

   I/System.out(3323): lauch=Intent { act=android.intent.action.MAIN cat=  

   [android.intent.category.LAUNCHER] flg=0x10000000 pkg=com.android.speechrecorder
   cmp=com.android.speechrecorder/.SpeechRecorderActivity }

   I/System.out(3323): intent=null   // but here got null

为什么它为空?以及如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

  

为什么它为空?

并非设备上安装的每个软件包都具有启动器活动。

  

以及如何解决这个问题?

检查null并妥善处理。或者,以其他方式解决您的问题。例如,如果您正在编写主屏幕式启动器,则应在queryIntentActivities() / MAIN LAUNCHER上使用Intent来查找可启动的活动。