我有希望开始电子邮件的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它一直活跃。

有帮助吗?

解决方案

我觉得差异可能没有那么多的API中,但在系统上可用的应用程序。特别是电子邮件应用Android中1.1和1.5是相当有限的,因此我也不会感到惊讶如果它是不能够处理ACTION_SEND。

也有可能是同一个动作的作品,如果你已经配置了Gmail应用程序,而不是只与电子邮件应用程序(如在模拟器)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top