2016-07-07 4 views
0

Wenn meine App versucht, Absichten zum Versenden einer Mailing-App zu senden, stürzt sie ab. Kann mir bitte jemand helfen, dieses Problem zu lösen?App stürzt ab, während Absichten an eine Mailing-App gesendet werden

Hier ist mein xml-Code für die Absichten:

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

post Ihre XML-Datei und OnClick-Methode zu –

+0

hast du meine Antwort überprüft? – Nitesh

Antwort

0

setType() löscht den Wert, den Sie in setData() setzen. Stattdessen kombinieren:

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

in:

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

(text/plain mit dem aktuellen MIME-Typ des Inhalts zu ersetzen, die Sie in priceMessage haben)

0

Aktivität hinzufügen zu Ihrem Manifest diese Weise:

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); 

Die Fehlermeldungen, die die App in der Protokolldatei sind gibt

<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

Zeigen Sie Ihren vollständigen Code. Vielleicht ist Ihr Onclick-Event irgendwo nicht richtig. – Drv

+0

@Drv Was willst du ?? – Ironman

0

Es bedeutet, dass das Android-System tut gefunden jedem E-Mail-Versandaktivität, um die von Ihnen erstellte Absicht zu verarbeiten. Stellen Sie sicher, dass auf Ihrem Gerät eine E-Mail-Anwendung installiert ist.

Nutzen Sie auch den folgenden Code E-Mail zu senden,

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

ich aslo es gerade herausgefunden, nachdem diese Frage zu veröffentlichen.

ich es gefunden, wenn ich die

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

Dann gelöscht i: -

intent.setType("*/*"); 

Und dann ist alles in Ordnung war.