Search code examples
javaandroidtokenaccount

AccountManagerFuture issue


I want to retrieve an user token. This is my code:

        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();
        }

But the process stop in this line:

Bundle result = bundleAccountManagerFuture.getResult();

Some idea?

Thank you very much

Exception:

android.accounts.OperationCanceledException W/System.err: at android.accounts.AccountManager$AmsTask.internalGetResult(AccountManager.java:1985) W/System.err: at android.accounts.AccountManager$AmsTask.getResult(AccountManager.java:1997) W/System.err: at android.accounts.AccountManager$AmsTask.getResult(AccountManager.java:1995) W/System.err: at com.fr.apps.cliente.tv.task.LoginTask.doInBackground(LoginTask.java:83) W/System.err: at com.fr.apps.cliente.tv.task.LoginTask.doInBackground(LoginTask.java:25) W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:304) W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237) W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243) W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) W/System.err: at java.lang.Thread.run(Thread.java:761)


Solution

  • I found the problem:

    The package name of my application do not match exactly with the package name of my other app (This app have the login). Now, i signed both with the same key.