1

我试图在后台获取令牌以使用google playservices进行身份验证,但我无法这样做。AsyncTask在尝试获取令牌时触发错误消息

我的代码来获得令牌如下,

private class GetTokenTask extends AsyncTask<String, Void, String> { 

     @Override 
     protected String doInBackground(String... params) { 
      try { 
       return fetchToken(params[0]); 
      } catch (IOException e) { 
       return null; 
      } 
     } 

     @Override 
     protected void onPostExecute(String result) { 
      if (result != null) { 
       ProximityApi.getInstance(MainActivity.this) 
         .setAuthToken(result); 
       setResult(RESULT_OK); 
       finish(); 
      } 
     } 
    } 

错误响应,我得到的是如下,

10-06 03:05:08.855 1876-1893/com.infotech.palmtree.proxybeacon W/art﹕ Suspending all threads took: 21.270ms 
10-06 03:05:11.402 1876-1893/com.infotech.palmtree.proxybeacon W/art﹕ Suspending all threads took: 65.002ms 
10-06 03:05:11.463 1876-2140/com.infotech.palmtree.proxybeacon W/System.err﹕ com.google.android.gms.auth.UserRecoverableAuthException: DeviceManagementSyncDisabled 
10-06 03:05:11.634 1876-2140/com.infotech.palmtree.proxybeacon W/System.err﹕ at com.google.android.gms.auth.GoogleAuthUtil.zza(Unknown Source) 
10-06 03:05:11.634 1876-2140/com.infotech.palmtree.proxybeacon W/System.err﹕ at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source) 
10-06 03:05:11.634 1876-2140/com.infotech.palmtree.proxybeacon W/System.err﹕ at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source) 
10-06 03:05:11.634 1876-2140/com.infotech.palmtree.proxybeacon W/System.err﹕ at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source) 
10-06 03:05:11.634 1876-2140/com.infotech.palmtree.proxybeacon W/System.err﹕ at com.infotech.palmtree.proxybeacon.MainActivity.fetchToken(MainActivity.java:106) 
10-06 03:05:11.634 1876-2140/com.infotech.palmtree.proxybeacon W/System.err﹕ at com.infotech.palmtree.proxybeacon.MainActivity.access$100(MainActivity.java:24) 
10-06 03:05:11.634 1876-2140/com.infotech.palmtree.proxybeacon W/System.err﹕ at com.infotech.palmtree.proxybeacon.MainActivity$GetTokenTask.doInBackground(MainActivity.java:87) 
10-06 03:05:11.634 1876-2140/com.infotech.palmtree.proxybeacon W/System.err﹕ at com.infotech.palmtree.proxybeacon.MainActivity$GetTokenTask.doInBackground(MainActivity.java:82) 
10-06 03:05:11.634 1876-2140/com.infotech.palmtree.proxybeacon W/System.err﹕ at android.os.AsyncTask$2.call(AsyncTask.java:292) 
10-06 03:05:11.634 1876-2140/com.infotech.palmtree.proxybeacon W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
10-06 03:05:11.634 1876-2140/com.infotech.palmtree.proxybeacon W/System.err﹕ at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
10-06 03:05:11.634 1876-2140/com.infotech.palmtree.proxybeacon W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
10-06 03:05:11.634 1876-2140/com.infotech.palmtree.proxybeacon W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
10-06 03:05:11.634 1876-2140/com.infotech.palmtree.proxybeacon W/System.err﹕ at java.lang.Thread.run(Thread.java:818) 
10-06 03:05:11.635 1876-2140/com.infotech.palmtree.proxybeacon I/Timeline﹕ Timeline: Activity_launch_request id:com.google.android.gms time:6855445 
10-06 03:05:11.722 1876-1876/com.infotech.palmtree.proxybeacon I/Timeline﹕ Timeline: Activity_launch_request id:com.google.android.gms time:6855532 
+2

发布完整的logcat结果 –

+0

它是用于获取GCM的令牌。因为你错过了一些不正确的东西。可能是需要在工作线程 –

+0

我已经发布了完整的logcat结果 –

回答

1

的错误是自我解释。这:UserRecoverableAuthException: DeviceManagementSyncDisabled似乎是根本原因。 (Explanation的上述错误)

我假设您需要在您的测试设备上启用同步,并且应该可以解决该错误。

PS:日志中的以下文本是因为Auth失败。