我使用的Android应用程序允许用户通过标准的意图范例共享内容,但我的移植代码无法在Kindle Fire上运行。在以下两个代码段中,默认的Kindle电子邮件应用程序不会被识别为意图的处理程序。
下面给出了“没有应用程序可以执行此操作”的消息:
Intent intent = new Intent(android.content.Intent.ACTION_SENDTO);
String uriText;
uriText = "mailto:nobody@gmail.com";
Uri uri = Uri.parse(uriText);
intent.setData(uri);
startActivity(Intent.createChooser(intent, "Send email"));
我在下面的另一个尝试,只是将Facebook和Lastpass作为唯一可以处理文本/普通的应用程序。
Intent intent2 = new Intent(android.content.Intent.ACTION_SEND);
intent2.putExtra(android.content.Intent.EXTRA_EMAIL, "nobody@gmail.com");
intent2.putExtra(android.content.Intent.EXTRA_SUBJECT, "Email subject");
intent2.putExtra(android.content.Intent.EXTRA_TEXT, "Email body text");
intent2.setType("text/plain");
startActivity(Intent.createChooser(intent2, "Send email"));
有什么想法吗?
由于 麦克
答案 0 :(得分:3)
在用户创建邮件帐户之前,电子邮件应用程序不会注册以响应意图。 某些第三方电子邮件客户端会抢先注册为处理程序,但看起来内置选项仅在用户创建了一个帐户时才会响应 - 这通常是不合适的 - 其他客户端,如twitter,facebook或Skype来响应事件< / p>