Intent を ComponentName に解決するメソッドがあります。
private static ComponentName resolveViewExternalIntent(Context context)
{
Intent intent = createIntent();
return intent.resolveActivity(context.getPackageManager());
}
まれに、次の ACRA クラッシュ レポートが表示されます。
java.lang.NullPointerException
at android.content.Intent.resolveActivity(Intent.java:4518)
at com.mypackage.myclass.resolveViewExternalIntent(SourceFile:271)
at om.mypackage.myActivity.onResume(SourceFile:517)
PackageManager がnull
.
これはめったに見ませんが、頻繁にこの質問を書くようになりました。
Context/Activity.getPackageManager() が null を返すことができるのはどのような状況ですか? 私の場合、context
ApplicationContext ではなく、Activity オブジェクト自体です。これが発生すると、アプリは Activity.onResume() ライフサイクル メソッドを実行しています。