私のアプリでユーザアカウントを確認する必要があり、アプリで複数回チェックする必要があります。this answerを使用しても問題ありませんが、アカウントの選択ダイアログが「アカウントを選択」して表示されますが、それはまったくうまくいかないので、それを止めるための解決策がありがたいです!ユーザアカウントを取得するたびに選択チューザのダイアログが表示されないようにする
0
A
答えて
0
アカウントピッカーを使用しているあなたは、ダイアログは私が制御する必要が
0
共有設定を使用するチェック値を保存し、存在する場合はそれを確認し、次に表示しない場合は表示しないでください。
// MY_PREFS_NAME - a static String variable like:
//public static final String MY_PREFS_NAME = "MyPrefsFile";
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.putString("name", "user1");
editor.putInt("idName", 1);
editor.commit();
は好みからデータを取得します:好みの値を設定する
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
String restoredText = prefs.getString("text", null);
if (restoredText != null) {
String name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
int idName = prefs.getInt("idName", 0); //0 is the default value.
}
//Call this function in you OnCreate Method.!
private void signIn() {
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, RC_SIGN_IN);
}
private void handleSignInResult(GoogleSignInResult result) {
Log.d(TAG, "handleSignInResult:" + result.isSuccess());
if (result.isSuccess()) {
// Signed in successfully, show authenticated UI.
GoogleSignInAccount acct = result.getSignInAccount();
Log.e(TAG, "display name: " + acct.getDisplayName());
personName = acct.getDisplayName();
email = acct.getEmail();
if(acct.getPhotoUrl()!= null) {
personPhotoUrl = acct.getPhotoUrl();
}
else
{
personPhotoUrl=Uri.parse("android.resource://com.compscitutorials.basigarcia.navigationdrawervideotutorial/drawable/add_profile_image");;
Log.d(TAG, "handleSignInResult: Photo Url is empty");
}
Log.e(TAG, "Name: " + personName + ", email: " + email
+ ", Image: " + personPhotoUrl.getPath().toString());
// txtName.setText(personName);
// txtEmail.setText(email);
// Glide.with(getApplicationContext()).load(personPhotoUrl)
// .thumbnail(0.5f)
// .crossFade()
// .diskCacheStrategy(DiskCacheStrategy.ALL)
// .into(imgProfilePic);
updateUI(true);
} else {
// Signed out, show unauthenticated UI.
updateUI(false);
}
}
は今、以前と現在のユーザーを比較します!
private void updateUI(boolean isSignedIn) {
if (isSignedIn) {
if(!currentName.equals(name))
{
//Next, launch the account chooser intent:
Intent intent = AccountPicker.newChooseAccountIntent(null, null,
new String[]{GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE},
false, null, null, null, null);
try {
startActivityForResult(intent, REQUEST_CODE_EMAIL);
} catch (ActivityNotFoundException e) {
// This device may not have Google Play Services installed.
// TODO: do something else
}
}
} else {
// Display Toast SignUp Failed
Toast.makeText(this, "SignUp Error", Toast.LENGTH_SHORT).show();
}
}
//最後に、アカウントの種類を取得するためにonActivityResultオーバーライドして、アカウント名:
@ @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
if (requestCode == RC_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
handleSignInResult(result);
}
}
関連する問題
- 1. スマート選択が表示されないようにする
- 2. インスタント実行後にデバイス選択ダイアログが表示されない
- 3. ウェブカメラの選択のダイアログを表示しないようにするには
- 4. 選択した値がAngularJSに表示されない選択
- 5. htmlの選択(ドロップダウン)ボックスオプションが表示されないようにする方法
- 6. phpMyAdmin: "表示するフィールドを選択"が表示されない
- 7. Firefoxで選択リストオプションが表示されないようにする
- 8. bootbox.confirmは、別のダイアログが表示されたときに呼び出されないようにします。
- 9. キャンバスに選択された画像が表示されない
- 10. 処理されない例外ダイアログを表示しないようにする
- 11. 起動時にワークスペースを選択するダイアログを表示する
- 12. Sliderfield xtypeから選択した値をダイアログに表示するにはどうすればいいですか?
- 13. ビットマップがダイアログに表示されない
- 14. Windows 10 UWP確認ダイアログが表示されないようにするピン
- 15. 呼び出されたときにjQueryダイアログが表示されない
- 16. Commandで呼び出されたときにAndHUDダイアログが表示されない
- 17. 選択したページを表示するナビゲーションを取得する
- 18. MD-表示]を選択し、すでに選択された値
- 19. f.collection_selectに選択した値が表示されない
- 20. FileUpload:選択したファイルがプレビューに表示されない
- 21. DropdownListForに選択した値が表示されない
- 22. 古典的なダイアログで選択されたドロップダウン値がタッチUIダイアログに同じ値を表示しません
- 23. Javascript表示選択オプションが選択されているときにエラーが表示される
- 24. 別の選択が選択されたときに表示/非表示にする方法
- 25. howto選択ボックスにAJAX選択オプションが表示される
- 26. Google Plusログイン 'アカウントを選択'ダイアログが表示されますプロフィール画像なし
- 27. ドロップダウンリストの選択された要素をボタンに表示するにはどうすればよいですか?
- 28. セルの選択時に青い背景が表示されないようにする
- 29. 他の選択肢のオプションが選択された場合にのみ選択を表示する方法は?
- 30. 表示されたダイアログの画像ビューを選択した画像に更新するにはどうすればよいですか?
表示されないことを期待すべきではありませんので、保存されたユーザー(最後にチェックされたユーザー)が同じユーザーの実行アプリである場合は、毎回チェックする必要がありますが、毎回選択者が欲しくない理由は – sasan
です。同じであれば表示しないで表示してください。 –
それは問題です!現在のユーザーを取得したいときに選択ボタンが表示されます。私が必要とするのは、ユーザーを取得する際に表示しない方法です。 – sasan