5

私が持っている方法で返します:はなぜActivity.getPackageManagerは()コンポーネント名に意図解決ヌル

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) 

その行で:まれ

private static ComponentName resolveViewExternalIntent(Context context) 
{ 
    Intent intent = createIntent(); 
    return intent.resolveActivity(context.getPackageManager()); 
} 

を、私は次のACRAのクラッシュレポートを取得PackageManagerがnullであるため、IntentクラスはNPEを取得します。

私はこれを頻繁に見ることはありませんが、頻繁にこの質問を書いていました。

Context/Activity.getPackageManager()がnullを返すことができる状況は誰ですか?私の場合、contextはActivityオブジェクトであり、ApplicationContextではありません。このとき、アプリはActivity.onResume()ライフサイクルメソッドを実行しています。

+0

あなたのコンテキストは確かにnullではありませんか? –

+0

それがあれば、そのスタックトレースを取得できますか?したがって、いいえ、コンテキストをnullにすることはできません。 –

+0

さらに、このresolveViewExternalIntent(this)は 'this'がActivityであるため、nullにすることは不可能です。 –

答えて

0

インテントアクションまたは明示的インテントでインテントを指定しませんでした。

Intent i = new Intent(Intent.ACTION_ZZZ); // Replace ZZZ 

をして、それらのアプリケーションや機能は、お使いのデバイス上で利用可能であることを確認するために、パッケージマネージャを呼び出して:あなたはこれを試すことができます。

関連する問題