0

次の問題があります。

次のようなインテントを起動する場合:

   final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);

   emailIntent.setType("text/plain");
   emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "hello");     
   emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Text");
   // uris is a ArrayList<Uri> that links to some images in the asset folder
   // everything works fine with those attachments on the nexus 4
   emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);

   this.startActivity(emailIntent);

Nexus 4(4.2.2を実行)で適切なアプリのコレクションを表示します

Nexus 7(4.2.2も実行)でコードを実行すると、インストールされて正常に実行されていても、gmailを使用するオプションが表示されません。

これに関するアイデアはありますか?

編集:私が考えることができる唯一の本当の違いは、nexus 7にはデバイスに2つのユーザーアカウントが設定されていることです. それは問題に関連している可能性がありますか?

4

1 に答える 1

1

これを試してください: これはうまくいきます。必要に応じて変更してください。

Uri file_uri = Uri.fromFile(fileLocation);
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("message/rfc822");
i.putExtra(Intent.EXTRA_SUBJECT, "");
i.putExtra(Intent.EXTRA_TEXT   , "");
i.putExtra(Intent.EXTRA_STREAM, file_uri);
try {
    startActivity(Intent.createChooser(i, "Complete Action Using"));
} catch (android.content.ActivityNotFoundException ex) {
    Toast.makeText(ExportReport.this, "There are no email clients installed",Toast.LENGTH_SHORT).show();
}
于 2013-05-11T11:08:19.927 に答える