January 3, 2013

Androidの公式Gmailアプリ4.2.1で指定したGmailアドレスの受信トレイを開く

以前は、以下の方法で、指定したGmailアドレスの受信トレイを開けました。
Intent i = new Intent();
i.setPackage("com.google.android.gm");
i.setAction(Intent.ACTION_MAIN);
i.putExtra("account", "[対象のGmailアドレス]");
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
startActivity(i);
公式Gmailアプリ4.2.1では、上記の方法では開けなくなっていました。実際には、もう少し前のバージョンからかもしれません。

以下のように書き換えると、公式Gmailアプリ4.2.1でも、指定したGmailアドレスの受信トレイを開けました。尚、labelの識別子さえわかれば、受信トレイ以外も開けるはずです。
Intent i = new Intent(Intent.ACTION_VIEW);
i.setComponent(new ComponentName("com.google.android.gm", "com.google.android.gm.ConversationListActivityGmail"));
i.setData(Uri.parse("content://gmail-ls/account/[対象のGmailアドレス]/label/^i"));
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
startActivity(i);
P.S.
Flag周りはあまり関係ないかもしれません。

No comments:

Post a Comment