我如何直接从我的应用程序打开Gmail?

时间:2013-12-17 14:29:29

标签: android android-intent service gmail

我有这段代码:

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。

已经尝试过,但这对我没用。我是从服务中做到的。

1 个答案:

答案 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);