3

GooglePlayサービスによって生成されたインテントを使用してGoogleアカウントを選択しようとしています

private void showGoogleAccountPicker() {
    Intent googlePicker = AccountPicker.newChooseAccountIntent(null, null,
        new String[] { GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE }, true, null, null, null, null);
    startActivityForResult(googlePicker, PICK_ACCOUNT_REQUEST);
  }

  @Override
  protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
    if (requestCode == PICK_ACCOUNT_REQUEST && resultCode == RESULT_OK) {
      String accountName = data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
      Log.d(TAG, "Account Name=" + accountName);
    }
  }

ダイアログには、私のGoogleアカウントと新しいアカウントを作成するためのオプションが表示されます。

ここに画像の説明を入力してください

[アカウントの追加]オプションを選択すると、アカウント作成ウィザードに正しくリダイレ​​クトされますが、既存のアカウントを選択して[OK]をクリックすると、ダイアログは閉じますが、アクティビティに戻ることはありません。

Logcatはこの行のみを出力します。何の関係もないと思います。

W/IInputConnectionWrapper(23576): showStatusIcon on inactive InputConnection

ソース

http://gmariotti.blogspot.com.es/2013/03/snippet-google-picker-account.html http://developer.android.com/reference/com/google/android/gms/common/AccountPicker.html

4

1 に答える 1

8

マニフェストで明示的にリクエストしていたため、アクティビティがバックスタックに含まれていなかったことが判明しました

<activity
            android:name=".ui.LoginActivity"
            android:label="@string/app_name"
            android:noHistory="true"

そのため、ダイアログは結果を返す相手を見つけることができませんでした。

なんて時間の無駄:(

于 2013-03-21T10:12:06.040 に答える