【发布时间】:2018-03-01 05:23:16
【问题描述】:
我想检索用户令牌。 这是我的代码:
AccountManager am = AccountManager.get(mActivity);
AccountManagerFuture<Bundle> bundleAccountManagerFuture = am.getAuthTokenByFeatures(ACCOUNT_TYPE, AUTHORIZATION_TOKEN_TYPE, null, mActivity, null, null, null, null);
try {
Bundle result = bundleAccountManagerFuture.getResult(30, TimeUnit.SECONDS);
if (result!=null) {
OTTCache.getInstance().authToken = result.getString(AccountManager.KEY_AUTHTOKEN);
}
} catch (OperationCanceledException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (AuthenticatorException e) {
e.printStackTrace();
}
但是进程停在这一行:
Bundle result = bundleAccountManagerFuture.getResult();
有什么想法吗?
非常感谢
例外:
android.accounts.OperationCanceledException W/System.err:在 android.accounts.AccountManager$AmsTask.internalGetResult(AccountManager.java:1985) W / System.err:在 android.accounts.AccountManager$AmsTask.getResult(AccountManager.java:1997) W / System.err:在 android.accounts.AccountManager$AmsTask.getResult(AccountManager.java:1995) W / System.err:在 com.fr.apps.cliente.tv.task.LoginTask.doInBackground(LoginTask.java:83) W / System.err:在 com.fr.apps.cliente.tv.task.LoginTask.doInBackground(LoginTask.java:25) W/System.err:在 android.os.AsyncTask$2.call(AsyncTask.java:304) W / System.err:在 java.util.concurrent.FutureTask.run(FutureTask.java:237) W/System.err: 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243) W / System.err:在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) W / System.err:在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) W/System.err:在 java.lang.Thread.run(Thread.java:761)
【问题讨论】:
-
我认为结果为空。所以它停在那里。
-
但是bundleAccountManagerFuture有账号,不是空的
-
但是你想展示什么?它只会执行那段代码
-
我要检索捆绑结果的令牌:authToken = result.getString(AccountManager.KEY_AUTHTOKEN);
标签: java android token account