每当我的应用尝试发送意图邮寄任何邮件应用时,它都会崩溃。 有人可以帮我解决这个问题吗?
这是我的意图的xml代码:
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("mailto:"));
intent.setType("*/*");
intent.putExtra(Intent.EXTRA_EMAIL, "jainharshil670@yahoo.in");
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 :(得分:0)
以这种方式向您的清单添加活动:
<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>
答案 1 :(得分:0)
line 2:++++execSync('powershell get-netipaddress '+ip)
消除了您在setType()
中的价值。相反,结合:
setData()
成:
intent.setData(Uri.parse("mailto:"));
intent.setType("*/*");
intent.putExtra(Intent.EXTRA_EMAIL, "jainharshil670@yahoo.in");
(将intent.setDataAndType(Uri.parse("mailto:jainharshil670@yahoo.in"), "text/plain");
替换为text/plain
中所含内容的实际MIME类型
答案 2 :(得分:0)
这意味着android系统没有找到任何电子邮件发送活动来处理您创建的意图。确保您的设备中安装了电子邮件应用程序。
还可以使用以下代码发送电子邮件,
<% if @posts.present? %>
<% @posts.each do |post| %>
<%= link_to "#{post.title}", post_path(post) %>
<% end %>
<% else %>
<p> You don't have any post yet. Keep posting! </p>
<% end %>
答案 3 :(得分:0)
我在发布这个问题之后就知道了。
当我看到行
时,我发现了它intent.setData(Uri.parse("mailto:"));
intent.setType("*/*");
然后我删除了: -
intent.setType("*/*");
然后一切都很好。