Android에 애플리케이션이 있고 AccountManager를 사용하여 AuthToken을 가져오고 Facebook이나 Twitter로 작업하려고합니다. 그래서이있어 :getAuthToken y Android가 콜백을 호출하지 않음
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccountsByType("com.facebook.auth.login");
Bundle options = new Bundle();
Account myAccount=null;
for (int i=0;i<accounts.length;i++) {
if (accounts[i].type.equals("com.facebook.auth.login")) myAccount=accounts[i];
//options.putString("facebookUser", accounts[i].name);
}
am.getAuthToken(
myAccount, // Account retrieved using getAccountsByType()
"Manage your tasks", // Auth scope
options, // Authenticator-specific options
this, // Your activity
new OnTokenAcquired(), // Callback called when a token is successfully acquired
new Handler(new OnError()));
내 두 콜백 onTokenAcquired됩니다
public class OnTokenAcquired implements AccountManagerCallback<Bundle> {
@Override
public void run(AccountManagerFuture<Bundle> result) {
try {
Bundle bundle = result.getResult();
Log.e("onTokenAcquired",bundle.getString(AccountManager.KEY_AUTHTOKEN));
} catch (OperationCanceledException e) {
Log.e("onTokenAcquired","operationcanceled");
} catch (AuthenticatorException e) {
Log.e("onTokenAcquired","authenticatorexception");
} catch (IOException e) {
Log.e("onTokenAcquired","IOException");
}
}
}
과의 OnError :
public class OnError implements Callback {
@Override
public boolean handleMessage(Message msg) {
Log.e("onError","ERROR");
return false;
}
}
내가 안드로이드 개발자 가이드에게 (HTTP를 다음 해요 : // developer.android.com/intl/es/training/id-auth/authenticate.html). 따라서 두 가지 옵션이 있습니다. 오류 또는 토큰 획득시 Log.e()에 모두 읽었지만 각별히주의를 기울이지는 않습니다.
아무도 도와 줄 수 있습니까? 오류가 발생했거나 토큰을 얻지 못했다면 최소한 해결해야 할 것이 있습니다.하지만 무슨 일이 일어나고 있는지는 알 수 없습니다.