Java 如何在Android中打开默认电子邮件客户端,而不发送消息?
我正在寻找一种在Android上打开默认电子邮件应用程序的方法,但不使用它发送消息。我知道我可以使用Java 如何在Android中打开默认电子邮件客户端,而不发送消息?,java,android,email,android-intent,kotlin,Java,Android,Email,Android Intent,Kotlin,我正在寻找一种在Android上打开默认电子邮件应用程序的方法,但不使用它发送消息。我知道我可以使用mailto://或intent参数来实现这一点,但这会自动打开新的消息屏幕。我想归档的是打开应用程序本身 到目前为止,我已经试过了 override fun startEmailApplication() { val intent = Intent(Intent.ACTION_MAIN) intent.addCategory(Intent.CATEGORY_APP_EMAIL)
mailto://
或intent参数来实现这一点,但这会自动打开新的消息屏幕。我想归档的是打开应用程序本身
到目前为止,我已经试过了
override fun startEmailApplication() {
val intent = Intent(Intent.ACTION_MAIN)
intent.addCategory(Intent.CATEGORY_APP_EMAIL)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
}
但每次我
android.content.ActivityNotFoundException:找不到处理Intent的活动{act=android.Intent.action.VIEW cat=[android.Intent.category.APP_EMAIL]flg=0x10000000}
Alt通过电子邮件应用程序(AquaMail、Outlook)安装。您可以执行以下操作:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_APP_EMAIL);
getActivity().startActivity(intent);
我会结合一些小东西
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setType("text/plain");
List<ResolveInfo> resolveInfos = getPackageManager().queryIntentActivities(intent, 0);
boolean canResolve = resolveInfos.size() > 0;
您也不会有
活动NotFoundException
,因为我们会事先检查是否有东西会响应我们的意图。请随意在中处理失败案例,否则
您现在使用类别应用程序电子邮件的方式就是这样。看见你应该把它和我一起用。在最近的一个项目中,我们试图做你想要做的事情(转到用户电子邮件应用程序的收件箱),但我们放弃了这一努力,因为它根本不可靠。
if (resolveInfos.size() > 0) {
startActivity(getPackageManager().getLaunchIntentForPackage(resolveInfos.get(0).resolvePackageName))
}