1

我有一个想要发送电子邮件的 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 以来一直处于活动状态。

4

1 回答 1

2

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

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

于 2009-12-18T23:58:46.507 回答