メールクライアントがAndroidデバイスで構成されているかどうかを検出するにはどうすればよいですか?メールアカウントが設定されていない場合、Androidはそれをテキストメッセージとして扱います(私はandroid.content.Intent.ACTION_SENDを使用します)。電子メールクライアントが構成されていないことをユーザーに確認したい。
2479 次
1 に答える
0
電子メールクライアントが構成されていないことをユーザーに確認する代わりに、createChooser()を使用してACTION_SENDインテントをチューザーでラップすることを検討してください。createChooser()
ユーザーが選択したインテントを返します。ユーザーが有効な電子メールクライアントを選択しなかった場合は、エラーメッセージをポップアップするか、有効な電子メールクライアントを宣言するための設定画面をユーザーに提供することができます。
送信アプリケーションが有効な「電子メール」アプリケーションであるかどうかを判断することはできず、送信用のアプリケーションであるかどうかだけを判断することはできないことに注意してください。これが、チューザーを使用する必要がある理由です。これにより、ユーザーは、電子メールクライアントが設定されていないことに気付くことができます。また、ユーザーが電話を開始するときに少なくともgoogleアカウントに登録する必要があるため(Gmailへのアクセスを許可する)、ユーザーが電子メールクライアントを持たないことは非常にまれであることに注意してください。
チューザーを使用してメールを送信する例を次に示します。
sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("application/octet-stream");
sendIntent.putExtra(Intent.EXTRA_EMAIL,new String[] {"myuser@gmail.com"});
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Email Subject");
sendIntent.putExtra(Intent.EXTRA_TEXT, "Body text of email message");
startActivity(Intent.createChooser(sendIntent, "Send Mail"));
于 2011-05-04T21:32:19.310 に答える