2015-05-19 5 views
2

творю следующий вызов:Android getLaunchIntentForPackage возвращает нуль

Intent launchIntent = context.getPackageManager() 
           .getLaunchIntentForPackage(packageName); 

он падает с NPE со следующим StackTrace:

java.lang.NullPointerException в android.app.Instrumentation.execStartActivity (Instrumentation.java:1423) на android.app.Activity.startActivityForResult (Activity.java:3584) на android.app.Activity.startActivityForResult (Activity.java:3545) на android.su pport.v4.app.FragmentActivity.void startActivityForResult (android.content.Intent, int) (SourceFile: 817) в android.app.Activity.startActivity (Activity.java:3787) в android.app.Activity.startActivity (Activity.java:3755) при utils.AppsLauncher.voidlaunchApp (android.content.Context, java.lang.String) (SourceFile: 100) на utils.AppsLauncher.void launchAppIfInstalledOtherwiseMarket (android.app.Activity, Java. lang.String, utils.AppReportingParams) (SourceFile: 73) на utils.AppsLauncher.void launchAppIfInstalledOtherwiseMarket (android.app.Activity, java.lang.String) (SourceFile: 51) на adapters.BaseGamesListAdapter.void launchAppIfInstalledOtherwiseMarket (java.lang.String) (SourceFile: 119) на adapters.UserGamesAdapter $ UserGameUIHolder $ 1.void OnClick (android.view.View) (ИСХ: 198) в android.view.View.performClick (View.java:4658) в android.view.View $ PerformClick .run (View.java:19461) на android.os.Handler.handleCallback (Handler.java:733) на android.os.Handler.dispatchMessage (Handler.java:95) на android.os.Looper.loop (Looper.java:146) в android.app.ActivityThread.main (ActivityThread.java:5692) в java.lang.reflect.Method.invokeNative (собственный метод) в java.lang.reflect.Method.invoke (Method.java:515) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1291) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1107) в dalvik.system.NativeStart.main (Native Method)

Я предполагаю, что getLaunchIntentForPackage (PACKAGENAME) возвращает нулевое Intent , Я не могу выяснить в GREPcode, почему именно он возвращает null: (http://grepcode.com/file/repo1.maven.org/maven2/org.robolectric/android-all/5.0.0_r2-robolectric-0/android/app/ApplicationPackageManager.java#ApplicationPackageManager.getLaunchIntentForPackage%28java.lang.String%29)

Важно отметить, что пакет действительно существует и установлен на устройстве.

+0

Вы поняли это? Я столкнулся с подобной проблемой. –

ответ

-3

context или context.getPackageManager() - null.