の実装から呼び出された次のスニペットはonOptionsItemSelected()
、ユーザーをアプリからメールアドレス、件名、本文が事前に入力されたメールクライアントに移動するためにうまく機能します。私はこれを、ユーザーがフィードバックをくれるようにする簡単な方法として使用しています。
String uriText =
"mailto:" + emailAddress +
"?subject=" + subject +
"&body=" + body;
Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse(uriText));
startActivity(Intent.createChooser(emailIntent, "Pick an email app:"));
メールアプリを開くと(Android4.0.4を搭載したNexusSで)、LogCatは次のように出力しますが、その理由がわかりません。GoogleとSOがcreateChooserunregisterReceiverを検索しても効果がないようですが、この状況に役立つ方法でcreateChooser()
呼び出しを行う例は多くありません。unregisterReceiver()
04-08 21:26:19.094:E / ActivityThread(27894):アクティビティcom.android.internal.app.ChooserActivityが、最初にここに登録されたIntentReceiver com.android.internal.app.ResolverActivity $ 1@4150aac8をリークしました。unregisterReceiver()の呼び出しがありませんか?
04-08 21:26:19.094:E / ActivityThread(27894):android.app.IntentReceiverLeaked:アクティビティcom.android.internal.app.ChooserActivityが元々あったIntentReceiver com.android.internal.app.ResolverActivity $ 1@4150aac8をリークしましたここに登録しました。unregisterReceiver()の呼び出しがありませんか?
04-08 21:26:19.094:E / ActivityThread(27894):android.app.LoadedApk $ ReceiverDispatcher。(LoadedApk.java:763)
私自身のコードが呼び出さないため、これはAndroidのバグのように感じますがregisterReceiver()
、なぜAndroidは私が呼び出す必要があると不平を言っているのunregisterReceiver()
ですか?