2014-10-18 32 views
-1

在我的軟件,我用以下,Android的意圖越來越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); 
中,我得到了啓動串妥善它 不是空

但之後,它傳遞的意圖,意圖打印

我也嘗試使用** Intent in = getPackageManager()。getLaunchIntentForPackage( getPackageName());

它工作正常,並且不爲空, 那麼爲什麼我的字符串的意圖越來越上的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 

爲什麼它是空的?以及如何解決這個問題?

回答

0

爲什麼它爲空?

並非安裝在設備上的每個軟件包都具有啓動器活動。

以及如何解決這個問題?

檢查null並妥善處理。或者,以其他方式解決您的問題。例如,如果您正在編寫主屏幕式啓動器,則應使用queryIntentActivities()上的MAIN/LAUNCHERIntent來查找可啓動的活動。