android – 发送带附件的电子邮件时出错

android – 发送带附件的电子邮件时出错,第1张

概述我有一个问题,我想发送带有图片附件电子邮件,但从d出菜单中选择Gmail选项时,它总是会返回错误.我没有找到同样背后的原因.请建议我正确的解决方案. 码: Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);emailIntent.putExtra(android.content.Intent.EXTRA_SU 我有一个问题,我想发送带有图片附件的电子邮件,但从d出菜单中选择Gmail选项时,它总是会返回错误.我没有找到同样背后的原因.请建议我正确的解决方案.

码:

Intent emailintent = new Intent(androID.content.Intent.ACTION_SEND);emailintent.putExtra(androID.content.Intent.EXTRA_SUBJECT,"Halosys Greetings");emailintent.putExtra(androID.content.Intent.EXTRA_TEXT,"");emailintent.putExtra(Intent.EXTRA_STREAM,bm);emailintent.setType("image/png");startActivity(Intent.createChooser(emailintent,"Send mail..."));

错误堆栈:

12-28 11:42:37.456: ERROR/AndroIDRuntime(21930): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.Google.androID.gm/com.Google.androID.gm.ComposeActivity}: java.lang.NullPointerException12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:2663)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at androID.app.ActivityThread.access00(ActivityThread.java:125)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at androID.os.Handler.dispatchMessage(Handler.java:99)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at androID.os.Looper.loop(Looper.java:123)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at androID.app.ActivityThread.main(ActivityThread.java:4627)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at java.lang.reflect.Method.invokeNative(Native Method)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at java.lang.reflect.Method.invoke(Method.java:521)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:616)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at dalvik.system.NativeStart.main(Native Method)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930): Caused by: java.lang.NullPointerException12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at com.Google.androID.gm.provIDer.Gmail$AttachmentOrigin.localfileExtras(Gmail.java:2194)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at com.Google.androID.gm.ComposeArea.addAttachment(ComposeArea.java:732)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at com.Google.androID.gm.ComposeArea.initFromExtras(ComposeArea.java:685)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at com.Google.androID.gm.ComposeActivity.initFromExtras(ComposeActivity.java:1482)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at com.Google.androID.gm.ComposeActivity.finishOnCreateAfteraccountSelected(ComposeActivity.java:1021)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at com.Google.androID.gm.ComposeActivity.onCreate(ComposeActivity.java:259)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at androID.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:2627)12-28 11:42:37.456: ERROR/AndroIDRuntime(21930):     ... 11 more

提前致谢.

解决方法 不知道你如何发送它,但这段代码工作正常.

public voID doSendfile() {    String filename = "myfilename.txt";    String externalStorageDirectory = Environment        .getExternalStorageDirectory().toString();    String myDir = externalStorageDirectory + "/myDir/";  // the file will be in myDir    Uri uri = Uri.parse("file://" + myDir + filename);    Intent i = new Intent(Intent.ACTION_SEND);    try {        myfileHandle.close(); // you may want to be sure that the file is closed correctly    } catch (IOException e) {        // Todo auto-generated catch block        e.printstacktrace();    }    i.setType("text/plain"); // as you can see I am sending a simple txt file here    i.putExtra(Intent.EXTRA_EMAIL,new String[] { "sendTo@gmail.com" });    i.putExtra(Intent.EXTRA_SUBJECT,"the subject text");    i.putExtra(Intent.EXTRA_TEXT,"extra text body");    Log.i(getClass().getSimplename(),"logfile=" + uri);    i.putExtra(Intent.EXTRA_STREAM,uri);    try {        startActivity(Intent.createChooser(i,"Send mail..."));    } catch (androID.content.ActivityNotFoundException ex) {        Toast.makeText(getBaseContext(),"There are no email clIEnts installed.",Toast.LENGTH_SHORT)                .show();    }}

也确定你有

<uses-permission androID:name="androID.permission.WRITE_EXTERNAL_STORAGE" />

在您的清单中,您可以在外部存储中实际创建该文件.

附:我从未设法直接从内部存储发送文件.

@H_502_45@ 总结

以上是内存溢出为你收集整理的android – 发送带附件的电子邮件时出错全部内容,希望文章能够帮你解决android – 发送带附件的电子邮件时出错所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1121908.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存