2

ボタンをクリックすると、次のコードを使用して電子メールを開始し、データベース クエリからのデータを入力します。

問題は、ボタンをクリックするとポップアップする「メールを送信...」ダイアログで、次のオプションしか提供されないことです。

* Evernote - create note
* Gmail
* Skype

仕事用の Microsoft Exchange サーバー (メインの電子メール クライアント) 経由でこれを送信する必要がありますが、これは提供されません (ただし、Web ハイパーリンクまたは他のアプリケーションの同様のボタンをクリックすると提供されます)。

private void sendEmail(String recipient, String subject, String message) { 
    try { 
        final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
        emailIntent.setType("plain/text"); 
        if (recipient != null)  emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{recipient}); 
        if (subject != null)    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); 
        if (message != null)    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message); 

        startActivity(Intent.createChooser(emailIntent, "Send mail...")); 

    } catch (ActivityNotFoundException e) { 
        // cannot send email for some reason 
    } 
}

何か案は?

4

2 に答える 2

2

わかりましたので、この投稿で答えを見つけました: インテント経由でメール プログラムを開く方法 (ただし、メール プログラムのみ)

MIME タイプを変更することが答えです。これは、同じ動作を変更するためにアプリで行ったことです。私は intent.setType("message/rfc822"); を使用しました。

夢のように働いた!

于 2012-12-18T16:50:46.630 に答える
0

画面がポップアップし、データを送信する必要があるアプリケーションを選択するオプションが表示されたら、その時点で [デフォルト アクションの設定] を選択します。そのため、次にアプリを使用してメールを送信すると、選択したデフォルトのアプリケーションが開きます

于 2014-08-02T07:36:29.403 に答える