同じアカウントタイプで動作する2つのアプリがあります。私は、ユーザーが初めて二アプリを開いたときに表示されるページの下にしたいとつのアカウントが存在します。別のアプリからカスタムアカウントのAuthTokenを取得できない
しかし、私はこのコードを実行したときに何も起こりません:
final AccountManagerFuture<Bundle> future = mAccountManager.getAuthToken(account, authTokenType, null, this, null, null);
new Thread(new Runnable() {
@Override
public void run() {
try {
Bundle bnd = future.getResult();
final String authtoken = bnd.getString(AccountManager.KEY_AUTHTOKEN);
showMessage((authtoken != null) ? "SUCCESS!\ntoken: " + authtoken : "FAIL");
Log.d("udinic", "GetToken Bundle is " + bnd);
} catch (Exception e) {
e.printStackTrace();
showMessage(e.getMessage());
}
}
}).start();
上記のコードをオーセンティケータを持つアプリケーションから実行すると正しく動作します。代わりにコードの下を実行すると、システムは、それをクリックすると上記の画像が表示されるという通知を生成します。
final AccountManagerFuture<Bundle> future = mAccountManager
.getAuthToken(account, authTokenType, null, true,
null, handler);
クリックボタンが正しくAuthToken
を返すことができます。しかし、通知をクリックするのではなく、getAuthToken
を呼び出すときに、許可の許可ページ(上記の画像)を見たいと思っています。どうやってやるの?
AUTH_TOKEN_TYPE_FULL_ACCESSの値は何ですか?私の場合、アプリが最初にインストールされたときに上記の画面が表示されますが、何も起こらないことを許可した後は、「フルアクセス」ですか? –