2016-05-18 18 views
-1

メールを送信するためのアクティビティを作成しようとしています。私はインテントオブジェクト "アクション送信"を使用して電子メールクライアントを起動しています。クライアントに接続していないのはなぜですか?

メールクライアントは検出されませんが、これは初めての作業です。ご協力ください。私のコードで何が間違っていますか?あなたのボタンのクリックで

public class email extends Activity { 

    private Button send; 
    DBHelper mydb1; 
    private ListView obj; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     mydb1 = new DBHelper(this); 
     setContentView(R.layout.email_display); 
     ArrayList array_list = mydb1.getAllCotacts(); 
     ArrayAdapter arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, array_list); 

     obj = (ListView) findViewById(R.id.listView2); 
     obj.setAdapter(arrayAdapter); 


      send =(Button) findViewById(R.id.send_button); 

      send.setOnClickListener(new View.OnClickListener() 

            { 
             @Override 
             public void onClick(View v) { 
              try { 
               Intent emailIntent = new Intent(Intent.ACTION_SEND); 
               emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); 
               emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject"); 
               emailIntent.putExtra(Intent.EXTRA_TEXT, "HEY"); 
               emailIntent.putExtra(Intent.EXTRA_CC, "[email protected]"); 
               emailIntent.setType("message/rfc822"); 
               startActivity(emailIntent); 
              } catch (ActivityNotFoundException anfe) { 
               Toast toast = Toast.makeText(email.this, "Sorry, no email client found", Toast.LENGTH_LONG); 
               toast.show(); 
              } 
             } 
            } 

      ); 
     } 
    } 
+0

は、MIMEタイプ 'メッセージ/ rfc822'の意図を受け取ることができますテストデバイス上の任意のアプリはありますか? –

+1

エラーに関する詳細を教えてください。 MimeTypeが問題と思われる、http://www.tutorialspoint.com/android/android_sending_email.htmそれを見てください –

+0

[この質問を参照してください](http://stackoverflow.com/questions/8701634/send-email-意図) – ZeusNet

答えて

0

:あなたのコードの変更に応じ

Intent emailIntent = new Intent(Intent.ACTION_SEND); 
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"});   
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
emailIntent.putExtra(Intent.EXTRA_TEXT, "message"); 
emailIntent.setType("message/rfc822"); 
startActivity(Intent.createChooser(emailIntent, "Choose an Email client :")); 

startActivity(emailIntent); 

startActivity(Intent.createChooser(emailIntent, "Choose an Email client :")); 
へ210

OR

代わりのmailtoを提供し、ACTION_SENDTOを使用し、してみてください:ウリ

intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:")); 

この5月には、あなたを助けます。

0
Intent i = new Intent(Intent.ACTION_SEND); 
    i.setType("text/plain"); 
    i.putExtra(Intent.EXTRA_EMAIL , new String[]{"[email protected]"}); 
    i.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
    i.putExtra(Intent.EXTRA_TEXT , "body"); 
    i.putExtra(Intent.EXTRA_CC, new String[] { "[email protected]" }); 
    try { 
     startActivity(Intent.createChooser(i, "Send mail...")); 
    } catch (android.content.ActivityNotFoundException ex) { 
     Toast.makeText(MyActivity.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show(); 
    } 

編集

使用してみてください:

i.setType("text/plain"); 
+0

それは私のエミュレータでメールが設定されており、既にプレーンテキストで試されているため、別のエラー「No apps can this action」です。 –

+0

@CarlosSiverioGonzalez私の回答を更新しています。チェックしてください。 –

関連する問題