アンドロイド:APIレベル2と5の間ACTION_SENDの違い?
-
20-09-2019 - |
質問
私は、電子メールを開始することを望んでAndroidアプリを持っています。次のコードは、APIレベル5エミュレータではなく、レベル2エミュレータまたはデバイス上で動作
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Email from MyApp");
emailIntent.setType("text/plain");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,
"This email was autogenerated by MyApp.");
try {
startActivity(emailIntent);
} catch (Exception e) {
Log.e(TAG,e.getMessage());
showDialog(DIALOG_CANTSENDMAIL);
}
スローされた例外は述べています:
No Activity found to handle Intent { action=android.intent.action.SEND (has extras) }
私は手動でテストしたすべてのデバイス(エミュレートと実際の)からの電子メールを送信することができ、これはレベル5 APIで動作します。 Intent.ACTION_SEND上のドキュメントは、それはAPIレベル1以降活動していると言います。
解決
私は違いがAPIでなく、システム上で利用可能なアプリではあまりないかもしれないと思います。特に、メールアプリはかなりのAndroid 1.1および1.5に限られていたので、ACTION_SENDを扱うことができなかった場合、私は驚かないだろう。
も同じアクションが(エミュレータでのように)のみメールアプリを使用すると、Gmailアプリを設定している場合に動作しますが、いないことが考えられます。
所属していません StackOverflow