Java GmailApi在Android上获取消息

Java GmailApi在Android上获取消息,java,android,android-studio,gmail-api,Java,Android,Android Studio,Gmail Api,我正在尝试使用GmailApi从gmail获取所有消息,但是当我运行代码时,这个错误出现了 “java.lang.RuntimeException:无法启动活动组件信息{com.yousefelsayed.myemail/com.yousefelsayed.myemail.MainActivity}:java.lang.IllegalArgumentException:名称不能为空:null” 它告诉我错误来自这条线 ListThreadsResponse listResponse = mSer

我正在尝试使用GmailApi从gmail获取所有消息,但是当我运行代码时,这个错误出现了

java.lang.RuntimeException:无法启动活动组件信息{com.yousefelsayed.myemail/com.yousefelsayed.myemail.MainActivity}:java.lang.IllegalArgumentException:名称不能为空:null

它告诉我错误来自这条线

ListThreadsResponse listResponse = mService.users().threads().list("me").execute();
有什么问题

霉菌代码:

mCredential = GoogleAccountCredential.usingOAuth2(
            getApplicationContext(), SCOPES)
            .setBackOff(new ExponentialBackOff());

    HttpTransport transport = AndroidHttp.newCompatibleTransport();

    JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
    mService = new com.google.api.services.gmail.Gmail.Builder(
            transport, jsonFactory, mCredential)
            .setApplicationName(getResources().getString(R.string.app_name))
            .build();
try {
            ListThreadsResponse listResponse = mService.users().threads().list("me").execute();
        } catch (IOException e) {
            e.printStackTrace();
        }
编辑:

完全错误:

05-28 09:15:39.836 22385-22385/com.yousefelsayed.myemail E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.yousefelsayed.myemail, PID: 22385
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.yousefelsayed.myemail/com.yousefelsayed.myemail.MainActivity}: java.lang.IllegalArgumentException: the name must not be empty: null
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2583)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2665)
    at android.app.ActivityThread.-wrap11(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1499)
    at android.os.Handler.dispatchMessage(Handler.java:111)
    at android.os.Looper.loop(Looper.java:207)
    at android.app.ActivityThread.main(ActivityThread.java:5765)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)
 Caused by: java.lang.IllegalArgumentException: the name must not be empty: null
    at android.accounts.Account.<init>(Account.java:48)
    at com.google.android.gms.auth.zzg.getToken(Unknown Source)
    at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
    at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential.getToken(GoogleAccountCredential.java:267)
    at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential$RequestHandler.intercept(GoogleAccountCredential.java:292)
    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:880)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:542)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:475)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:592)
    at com.yousefelsayed.myemail.MainActivity.onCreate(MainActivity.java:136)
    at android.app.Activity.performCreate(Activity.java:6301)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2530)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2665) 
    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1499) 
    at android.os.Handler.dispatchMessage(Handler.java:111) 
    at android.os.Looper.loop(Looper.java:207) 
    at android.app.ActivityThread.main(ActivityThread.java:5765) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684) 
05-28 09:15:39.836 22385-22385/com.yousefelsayed.myemail电子邮件/AndroidRuntime:致命异常:main
进程:com.yousefelsayed.myemail,PID:22385
java.lang.RuntimeException:无法启动活动组件信息{com.yousefelsayed.myemail/com.yousefelsayed.myemail.MainActivity}:java.lang.IllegalArgumentException:名称不能为空:null
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2583)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2665)
位于android.app.ActivityThread.-wrap11(ActivityThread.java)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1499)上
位于android.os.Handler.dispatchMessage(Handler.java:111)
位于android.os.Looper.loop(Looper.java:207)
位于android.app.ActivityThread.main(ActivityThread.java:5765)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)
原因:java.lang.IllegalArgumentException:名称不能为空:null
在android.accounts.Account.(Account.java:48)
位于com.google.android.gms.auth.zzg.getToken(未知来源)
在com.google.android.gms.auth.GoogleAuthUtil.getToken(未知来源)
在com.google.api.client.GoogleAppis.extensions.android.gms.auth.GoogleAccountCredential.getToken(GoogleAccountCredential.java:267)
在com.google.api.client.GoogleAppis.extensions.android.gms.auth.GoogleAccountCredential$RequestHandler.intercept(GoogleAccountCredential.java:292)
位于com.google.api.client.http.HttpRequest.execute(HttpRequest.java:880)
位于com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:542)
位于com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:475)
位于com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:592)
位于com.yousefelsayed.myemail.MainActivity.onCreate(MainActivity.java:136)
位于android.app.Activity.performCreate(Activity.java:6301)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2530)
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2665)
位于android.app.ActivityThread.-wrap11(ActivityThread.java)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1499)上
位于android.os.Handler.dispatchMessage(Handler.java:111)
位于android.os.Looper.loop(Looper.java:207)
位于android.app.ActivityThread.main(ActivityThread.java:5765)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)

05-2809:15:39.983805-1769/?E/Sensors:handleToDriver handle(0)

我建议您提出问题,并发布所获得的整个堆栈跟踪。不确定这是否会解决问题,但您使用的是不推荐使用的类和方法。应该使用而不是来构建服务。调用本身似乎没有问题。我使用了这个类,但我建议您遵循相同的错误。我建议您回答问题并发布您得到的整个堆栈跟踪。不确定这是否会解决问题,但您使用的是不推荐的类和方法。应该使用而不是来构建服务。调用本身似乎是正确的。我使用了这个类,但我建议您遵循相同的错误。