同じアカウント タイプで動作する 2 つのアプリがあります。ユーザーが 2 つ目のアプリを初めて開いて、1 つのアカウントが存在するときに、以下のページが表示されるようにします。
しかし、このコードを実行しても何も起こりません:
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
ただし、通知をクリックするのではなく、呼び出し時に許可付与ページ (上の画像) を表示したい。どうやってやるの?