下面的代码片段,从我的 实现中调用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 输出以下内容,我不知道为什么;谷歌和 SO 搜索createChooser unregisterReceiver似乎没有结果,我找不到很多这样的例子createChooser()
也unregisterReceiver()
可以帮助这种情况。
04-08 21:26:19.094: E/ActivityThread(27894): Activity 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: Activity 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()
呢?