2016-07-07 3 views
0

アプリがメールアプリにインテントを送信しようとするたびにクラッシュします。 誰かがこの問題を解決するのに手伝ってくれますか?メールアプリにインテントを送信中にアプリがクラッシュする

Intent intent = new Intent(Intent.ACTION_SENDTO); 
    intent.setData(Uri.parse("mailto:")); 
    intent.setType("*/*"); 
    intent.putExtra(Intent.EXTRA_EMAIL, "[email protected]"); 
    intent.putExtra(Intent.EXTRA_SUBJECT, "My Coffee Order"); 
    intent.putExtra(Intent.EXTRA_TEXT, priceMessage); 
    startActivity(intent); 

アプリがログファイルになりますエラーメッセージは次のとおりです:マニフェストこのように

07-07 17:48:25.504 22490-22490/com.example.android.justjava E/AndroidRuntime: FATAL EXCEPTION: main 
                      Process: com.example.android.justjava, PID: 22490 
                      java.lang.IllegalStateException: Could not execute method for android:onClick 
                       at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:293) 
                       at android.view.View.performClick(View.java:4848) 
                       at android.view.View$PerformClick.run(View.java:20262) 
                       at android.os.Handler.handleCallback(Handler.java:815) 
                       at android.os.Handler.dispatchMessage(Handler.java:104) 
                       at android.os.Looper.loop(Looper.java:194) 
                       at android.app.ActivityThread.main(ActivityThread.java:5649) 
                       at java.lang.reflect.Method.invoke(Native Method) 
                       at java.lang.reflect.Method.invoke(Method.java:372) 
                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) 
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 
                      Caused by: java.lang.reflect.InvocationTargetException 
                       at java.lang.reflect.Method.invoke(Native Method) 
                       at java.lang.reflect.Method.invoke(Method.java:372) 
                       at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288) 
                       at android.view.View.performClick(View.java:4848) 
                       at android.view.View$PerformClick.run(View.java:20262) 
                       at android.os.Handler.handleCallback(Handler.java:815) 
                       at android.os.Handler.dispatchMessage(Handler.java:104) 
                       at android.os.Looper.loop(Looper.java:194) 
                       at android.app.ActivityThread.main(ActivityThread.java:5649) 
                       at java.lang.reflect.Method.invoke(Native Method) 
                       at java.lang.reflect.Method.invoke(Method.java:372) 
                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) 
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 
                      Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.SENDTO typ=*/* (has extras) } 
                       at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1792) 
                       at android.app.Instrumentation.execStartActivity(Instrumentation.java:1512) 
                       at android.app.Activity.startActivityForResult(Activity.java:3810) 
                       at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:48) 
                       at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:75) 
                       at android.app.Activity.startActivityForResult(Activity.java:3761) 
                       at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:871) 
                       at android.app.Activity.startActivity(Activity.java:4091) 
                       at android.app.Activity.startActivity(Activity.java:4059) 
                       at com.example.android.justjava.MainActivity.submitOrder(MainActivity.java:65) 
                       at java.lang.reflect.Method.invoke(Native Method) 
                       at java.lang.reflect.Method.invoke(Method.java:372) 
                       at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288) 
                       at android.view.View.performClick(View.java:4848) 
                       at android.view.View$PerformClick.run(View.java:20262) 
                       at android.os.Handler.handleCallback(Handler.java:815) 
                       at android.os.Handler.dispatchMessage(Handler.java:104) 
                       at android.os.Looper.loop(Looper.java:194) 
                       at android.app.ActivityThread.main(ActivityThread.java:5649) 
                       at java.lang.reflect.Method.invoke(Native Method) 
                       at java.lang.reflect.Method.invoke(Method.java:372) 
                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) 
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 
+0

あなたのXMLファイルとonClickメソッドも投稿してください –

+0

私の答えをチェックしましたか? – Nitesh

答えて

0

setType()setData()に入れた値を削除します。その代わり、コンバイン:

intent.setData(Uri.parse("mailto:")); 
intent.setType("*/*"); 
intent.putExtra(Intent.EXTRA_EMAIL, "[email protected]"); 

へ:

intent.setDataAndType(Uri.parse("mailto:[email protected]"), "text/plain"); 

(あなたはpriceMessageを持っているコンテンツの実際のMIMEタイプでtext/plainを置き換える)

0

追加アクティビティ:

ここ

は意図のための私のXMLコードであります
<activity android:name=".AppPreferenceActivity" android:label="@string/app_name"> 
    <intent-filter> 
     <action android:name="com.scytec.datamobile.vd.gui.android.AppPreferenceActivity" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
    </activity> 
+0

あなたの完全なコードを表示してください。どこかであなたのonclickイベントがうまくいかないかもしれません。 – Drv

+0

@Drvあなたは何をしたいですか? – Ironman

0

それは、Androidシステムのdoesntが任意のを見つけたことを意味しますあなたが作成したインテントを処理する電子メール送信アクティビティ。電子メールアプリケーションがデバイスにインストールされていることを確認してください。

もちょうどこの質問を投稿した後、私はそれを考え出したaslo

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

、電子メールを送信するには、次のコードを使用します。

私は私がライン

intent.setData(Uri.parse("mailto:")); 
intent.setType("*/*"); 

を見たとき、それは、私は削除した: -

intent.setType("*/*"); 

そして、すべてが大丈夫でした。

関連する問題