我有这段代码:
Intent dialogIntent = new Intent(android.content.Intent.ACTION_SEND);
dialogIntent.setType("plain/text");
dialogIntent.putExtra(android.content.Intent.EXTRA_EMAIL, "");
dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplication().startActivity(dialogIntent);
这将打开与DRIVE,GMAIL和SKYPE的对话。我需要在没有出现对话框的情况下直接打开gmail。
已经尝试过,但这对我没用。我是从服务中做到的。
答案 0 :(得分:1)
将此添加到您的意图中:
dialogIntent.setClassName("com.google.android.gm", "com.google.android.gm.ConversationListActivity");
注意:这是官方支持的,在将来的版本中可能会中断。没有记录或官方的方式启动Gmail活动。
修改:找到了另一种方法,试试看是否有效:
final PackageManager pm = getPackageManager();
final List<ResolveInfo> matches = pm.queryIntentActivities(intent, 0);
ResolveInfo best = null;
for (final ResolveInfo info : matches)
if (info.activityInfo.packageName.endsWith(".gm") ||
info.activityInfo.name.toLowerCase().contains("gmail")) best = info;
if (best != null)
intent.setClassName(best.activityInfo.packageName, best.activityInfo.name);