Android 打开gmail消息意图

Android 打开gmail消息意图,android,android-intent,gmail,Android,Android Intent,Gmail,我用这个意图来打开Gmail信息,但我想我需要额外添加一些关于id的信息,我不知道额外的密钥 Intent gmintent = new Intent(Intent.ACTION_VIEW); gmintent.setClassName("com.google.android.gm", "com.google.android.gm.HtmlConversationActivity"); gmintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); con

我用这个意图来打开Gmail信息,但我想我需要额外添加一些关于id的信息,我不知道额外的密钥

Intent gmintent = new Intent(Intent.ACTION_VIEW); 
gmintent.setClassName("com.google.android.gm", "com.google.android.gm.HtmlConversationActivity"); 
gmintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(gmintent);
超过9000

public class MessageListClickListner implements OnItemClickListener{

    private Context context;
    private List<Map<String, String>> groupOfChilds;

    public MessageListClickListner(Context context, List<Map<String, String>> groupOfChilds) {
        super();
        this.context = context;
        this.groupOfChilds = groupOfChilds;
    }

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
        if("sms".equalsIgnoreCase(groupOfChilds.get(position).get("TYPE"))){
            Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("content://mms-sms/conversations/"+groupOfChilds.get(position).get("ID")));
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent);
        }else{
            Intent sendIntent = new Intent(Intent.ACTION_SEND);
            sendIntent.setType("text/plain");
            sendIntent.putExtra(Intent.EXTRA_SUBJECT,"Email subject");
            sendIntent.putExtra(Intent.EXTRA_TEXT, "Body of Email");
            sendIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(Intent.createChooser(sendIntent, "Email:"));

/*          Intent gmintent = new Intent(Intent.ACTION_VIEW); 
//          gmintent.putExtra("id", groupOfChilds.get(position).get("ID"));
            gmintent.setClassName("com.google.android.gm", "com.google.android.gm.HtmlConversationActivity"); 
            gmintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(gmintent);*/
        }
    }
}
公共类MessageListClickListner实现了一个McClickListener{
私人语境;
私人儿童名单;
公共消息列表ClickListner(上下文,儿童列表组){
超级();
this.context=上下文;
this.groupOfChilds=groupOfChilds;
}
@凌驾
public void onItemClick(适配器视图arg0、视图arg1、内部位置、长arg3){
if(“sms.equalsIgnoreCase”(groupOfChilds.get(position.get(“TYPE”))){
Intent Intent=新的Intent(Intent.ACTION\u视图,Uri.parse(“content://mms-sms/conversations/“+groupOfChilds.get(position.get(“ID”));
intent.addFlags(intent.FLAG\u活动\u新任务);
背景。开始触觉(意图);
}否则{
Intent sendIntent=新的Intent(Intent.ACTION\U SEND);
sendIntent.setType(“文本/普通”);
sendIntent.putExtra(Intent.EXTRA主题,“电子邮件主题”);
sendIntent.putExtra(Intent.EXTRA_文本,“电子邮件正文”);
sendIntent.addFlags(Intent.FLAG\u活动\u新任务);
context.startActivity(Intent.createChooser(sendIntent,“Email:”);
/*Intent gmintent=新意图(Intent.ACTION\u视图);
//gmintent.putExtra(“id”,groupOfChilds.get(position.get(“id”));
gmintent.setClassName(“com.google.android.gm”、“com.google.android.gm.HtmlConversationActivity”);
gmintent.addFlags(Intent.FLAG\u活动\u新任务);
背景。起始触觉(gmintent)*/
}
}
}
试试这个:

Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_SUBJECT,"Email subject");
sendIntent.putExtra(Intent.EXTRA_TEXT, "Body of Email");
startActivity(Intent.createChooser(sendIntent, "Email:"));
gmintent.putExtra("key", "value");
用户将可以选择使用哪个电子邮件客户端。

尝试以下操作:

Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_SUBJECT,"Email subject");
sendIntent.putExtra(Intent.EXTRA_TEXT, "Body of Email");
startActivity(Intent.createChooser(sendIntent, "Email:"));
gmintent.putExtra("key", "value");
发布的解决方案位于:

:)我想确切地知道keysstrange的名称,但是代码抛出了一个异常,并且带有标志意图。flag_ACTIVITY_NEW_TASK,并且在没有它的情况下,从活动上下文外部调用startActivity()需要flag_ACTIVITY_NEW_TASK falg。这真的是你想要的吗?这将有助于看到整个错误。你在哪里调用这个代码?它不应该在onCreate()中。它在我的onItemClickListner@x90:请将代码添加到问题,而不是答案。