通常、Activity クラスから新しい Activity を起動してその結果を取得するには、次を使用します。
public void startActivityForResult (インテント インテント、int requestCode)
ただし、Activity 以外のクラスから新しい Activity を起動してその結果を取得しようとするとどうなるでしょうか。どうすればこれを達成できますか?
LoginManager
私が現在クラス(非アクティビティクラス)を持っているので、私がそう尋ねる理由。次のコードがあります。
accountManager.getAccountManager().getAuthToken(account, AUTH_TOKEN_TYPE, true, new AccountManagerCallback<Bundle>() {
public void run(AccountManagerFuture<Bundle> future) {
try {
Bundle bundle = future.getResult();
if (bundle.containsKey(AccountManager.KEY_INTENT)) {
Intent intent = bundle.getParcelable(AccountManager.KEY_INTENT);
intent.setFlags(intent.getFlags() & ~Intent.FLAG_ACTIVITY_NEW_TASK);
// Compilation error, as LoginManager doesn't have startActivityForResult method.
startActivityForResult(intent, REQUEST_AUTHENTICATE);