2011-08-23 116 views
0

不使用默认邮件应用程序,只需单击一个按钮,我想从我的应用程序发送邮件。在没有用户介入的情况下发送电子邮件android

我跟着这个链接:

Sending Email in Android using JavaMail API without using the default/built-in app

添加权限的mainfest文件,仍然是其无法正常工作。 和蔼可亲。

当我在设备上打开它时,应用程序强制关闭。

我logcat的文件上写着:

08-23 15:10:26.126: ERROR/AndroidRuntime(18094): FATAL EXCEPTION: main 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{org.mailsend/org.mailsend.MailSenderActivity.java}: java.lang.ClassNotFoundException: org.mailsend.MailSenderActivity.java in loader dalvik.system.PathClassLoader[/mnt/asec/org.mailsend-2/pkg.apk] 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1743) 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1851) 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  at android.app.ActivityThread.access$1500(ActivityThread.java:132) 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1038) 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  at android.os.Handler.dispatchMessage(Handler.java:99) 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  at android.os.Looper.loop(Looper.java:143) 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  at android.app.ActivityThread.main(ActivityThread.java:4277) 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  at java.lang.reflect.Method.invoke(Method.java:507) 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  at dalvik.system.NativeStart.main(Native Method) 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094): Caused by: java.lang.ClassNotFoundException: org.mailsend.MailSenderActivity.java in loader dalvik.system.PathClassLoader[/mnt/asec/org.mailsend-2/pkg.apk] 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  at java.lang.ClassLoader.loadClass(ClassLoader.java:551) 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  at android.app.Instrumentation.newActivity(Instrumentation.java:1061) 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1735) 
08-23 15:10:26.126: ERROR/AndroidRuntime(18094):  ... 11 more 

我使用的代码是一样的一个在 Sending Email in Android using JavaMail API without using the default/built-in app

这是我mainfest:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="org.mailsend" 
    android:versionCode="1" 
    android:versionName="1.0" 
    android:installLocation="preferExternal" > 
<uses-permission android:name="android.permission.INTERNET"></uses-permission> 


<application android:icon="@drawable/icon" android:label="@string/app_name"  android:debuggable="true"> 
    <activity android:name=".MailSenderActivity.java" 
       android:label="@string/app_name"> 
       <activity android:name=".GMailSender"></activity> 
       <activity android:name=".MailSenderActivity"></activity> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 

    </activity> 


</application> 

+0

能做到的android ** **那?它可以发送给你,还是只是决定从你的存储卡发回随机的东西回到本垒?听起来含糊不清。 – Paul

+2

请更具体一些,发布错误的logcat,发布无法正常工作的代码。帮助人们帮助您 – Egor

+0

@ user838522 LogCat中的错误是什么? – Blundell

回答

0

你是错过了org.mailsend.MailSenderActivity在你的APK文件中的类,所以它不能启动。将此类添加到您的APK文件或修改清单以不包含它(并且不要尝试启动它)。

+0

似乎并不是问题,并且该类中存在org.mailsend.MailSenderActivity文件。 – user838522

+0

@ user838522:这是您的堆栈跟踪报告的问题。 – CommonsWare

+0

我有一个名为org.mailsend的包,它包含两个名为GmailSender.java和MailSenderActivity.java的类,另一个名为com.provider的包保存JSSEProvrov.java;但为什么它不会自动将包添加到我的apk文件中? – user838522

0
  1. 入住GMailSender.java包文件的文件名中JSSEProvider

    static { 
          Security.addProvider(new PACKED-NAME.JSSEProvider()); 
         } 
    
  2. 附加代码文件

    public final class JSSEProvider extends Provider { 
    
        private static final long serialVersionUID = 1L; ---> this code is add 
    
相关问题