
码:
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 – 发送带附件的电子邮件时出错所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)