2014-01-16 159 views
-2

当我尝试从Android应用程序发送电子邮件到用户的电子邮件发送电子邮件从Android应用程序到用户的电子邮件

我的应用程序显示例外:

java.lang.NullPointerException 

我的代码是:

 Mail m = new Mail("[email protected]", "*******************"); 
     String[] toArr = { em }; 
     m.setTo(toArr); 
     m.setFrom("[email protected]"); 
     m.setSubject("[MBRM Orion] Current location of phone: " + pn); 
     m.setBody(text); 
     try { 
      if (m.send()) { 
       Toast.makeText(getApplication(), 
         "Email was sent successfully.", Toast.LENGTH_LONG);// .show(); 
      } else { 
       Toast.makeText(getApplication(), "Email was not sent.", 
         Toast.LENGTH_LONG).show(); 
      } 
     } catch (Exception e) { 
      Toast.makeText(getApplication(), e.toString(), Toast.LENGTH_LONG).show(); 
      Log.e("MailApp", "Could not send email", e); 
     } 

任何一个可以帮助我,请

logcat的是:

01-16 13:22:55.955: E/MailApp(6423): Could not send email 
01-16 13:22:55.955: E/MailApp(6423): java.lang.NullPointerException: value == null 
01-16 13:22:55.955: E/MailApp(6423): at java.util.Hashtable.put(Hashtable.java:367) 
01-16 13:22:55.955: E/MailApp(6423): at com.example.MBRMOrion.Mail._setProperties(Mail.java:148) 
01-16 13:22:55.955: E/MailApp(6423): at com.example.MBRMOrion.Mail.send(Mail.java:89) 
01-16 13:22:55.955: E/MailApp(6423): at com.example.MBRMOrion.GPS.SendingEmail(GPS.java:637) 
01-16 13:22:55.955: E/MailApp(6423): at com.example.MBRMOrion.GPS$8$1.run(GPS.java:604) 
01-16 13:22:55.955: E/MailApp(6423): at android.os.Handler.handleCallback(Handler.java:725) 
01-16 13:22:55.955: E/MailApp(6423): at android.os.Handler.dispatchMessage(Handler.java:92) 
01-16 13:22:55.955: E/MailApp(6423): at android.os.Looper.loop(Looper.java:137) 
01-16 13:22:55.955: E/MailApp(6423): at android.app.ActivityThread.main(ActivityThread.java:5041) 
01-16 13:22:55.955: E/MailApp(6423): at java.lang.reflect.Method.invokeNative(Native Method) 
01-16 13:22:55.955: E/MailApp(6423): at java.lang.reflect.Method.invoke(Method.java:511) 
01-16 13:22:55.955: E/MailApp(6423): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
01-16 13:22:55.955: E/MailApp(6423): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
01-16 13:22:55.955: E/MailApp(6423): at dalvik.system.NativeStart.main(Native Method) 

在此先感谢...

+1

阅读您的堆栈跟踪。 – njzk2

+0

发布您的logcat – R9J

+0

...并使用您的调试器。空指针异常很容易解决你自己。设置一个断点,逐步浏览并随时观察变量。 – NigelK

回答

1

可能变量“时间”或“文本”或“”的pn不initialized.Have你存储在其中的值或者为空? 您还可以使用默认的电子邮件应用发送电子邮件的意图:

   Intent i=new Intent(Intent.ACTION_SEND); 
       i.setType("message/rfc822"); 
       i.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
       i.putExtra(Intent.EXTRA_EMAIL,new String[]{"[email protected]"}); 
       startActivity(Intent.createChooser(i, "Choose Messaging app:")); 
相关问题