2014-01-16 6 views
-2

, когда я пытаюсь отправить почту от андроида приложения электронной почты пользователяОтправка электронной почты от андроида приложения электронной почты пользователя

моего исключения дисплого приложения:

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 is:

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

... и используйте свой отладчик. Исключения Null Pointer легко исправить. Установите контрольную точку, перейдите и просмотрите свои переменные по ходу. – NigelK

ответ

1

вероятно Переменные «Em» или «текст» или «рп» не 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:")); 
Смежные вопросы