【问题标题】:Android: difference in ACTION_SEND between api level 2 and 5?Android:API 级别 2 和 5 之间 ACTION_SEND 的区别?
【发布时间】:2010-12-28 03:51:51
【问题描述】:

我有一个想要发送电子邮件的 Android 应用。以下代码适用于 api 5 级模拟器,但不适用于 2 级模拟器或设备:

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Email from MyApp");
emailIntent.setType("text/plain");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,
   "This email was autogenerated by MyApp.");
try {
    startActivity(emailIntent);
} catch (Exception e) {
    Log.e(TAG,e.getMessage());
    showDialog(DIALOG_CANTSENDMAIL);
}

抛出的异常说:

No Activity found to handle Intent { action=android.intent.action.SEND (has extras) }

我可以从所有经过测试的设备(模拟和真实)手动发送电子邮件,这适用于 5 级 API。 Intent.ACTION_SEND 上的文档说它自 API 级别 1 以来一直处于活动状态。

【问题讨论】:

标签: android android-emulator


【解决方案1】:

我认为差异可能不在于 API,而在于系统上可用的应用程序。尤其是电子邮件应用在 Android 1.1 和 1.5 中受到很大限制,因此如果它无法处理 ACTION_SEND,我不会感到惊讶。

如果您配置了 Gmail 应用程序,但仅使用电子邮件应用程序(例如在模拟器中),同样的操作也可能有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 2020-09-12
    • 1970-01-01
    • 2017-11-20
    • 1970-01-01
    • 2018-11-16
    相关资源
    最近更新 更多