Следующий фрагмент, вызванный из моей реализации 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:"));
Когда открывается почтовое приложение (на моем Nexus S с Android 4.0.4), LogCat выводит следующее, и я не могу понять, почему; Поиски Google и SO для createChooser unregisterReceiverкажутся бесплодными, и я не могу найти много примеров 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): at android.app.LoadedApk$ReceiverDispatcher.(LoadedApk.java:763)
Это похоже на ошибку Android, потому что мой собственный код не вызывает registerReceiver()
, так почему же Android жалуется, что мне нужно вызвать unregisterReceiver()
?