1

私は自分のアプリでジオフェンスを使用しています。最初のデバイスの実行後にユーザーが最初に場所を切り替えると、Googleの場所に同意するように求められます。しかし、ユーザーが同意しない場合、ジオフェンスの初期化でエラーコード1000が返されます。Android Googleのロケーションサービスのダイアログを使用

私のアプリからGoogleの場所を使用するようにもう一度尋ねる方法はありますか?

私は約this questinを知っていますが、このダイアログは最初の起動場所の設定時にのみ起動します。ユーザーが拒否した場合、IMHOはダイアログを表示する方法がありません。または何か方法はありますか?あなたの質問にコメントしたように

がanwser

+0

あなたが何を求めているのか不明です。何があなたに再度ユーザーにプロンプ​​トを表示できなくなるのを止めますか? –

答えて

-1

をありがとう、私はあなたが求めている正確に何か分からないが、あなたは、ユーザーが最初にshouldShowRequestPermissionRationaleを使用して場所の許可に反対するかどうかをテストすることができます。

以下は、私が使用している便利なドキュメントであるRequestion Permissionsに基づいた拡張コードです。

if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED 
      && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { 

     Log.d(TAG, "checkMyPermissions (" + permissionRequestCode + ") : Permissions FAILED"); 
     // Should we show an explanation? 

     if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_FINE_LOCATION)) { 
      // Show an explanation to the user *asynchronously* -- don't block 
      // this thread waiting for the user's response! After the user 
      // sees the explanation, try again to request the permission. 
      new AlertDialog.Builder(this) 
        .setMessage("In order to show data this app requires location permissions") 
        .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialog, int which) { 
          ActivityCompat.requestPermissions(MainActivity.this, 
            new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 
            permissionRequestCode); 
         } 
        }) 
        .setNegativeButton(android.R.string.cancel, null) 
        .show(); 

     } else { 
      ActivityCompat.requestPermissions(this, 
        new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 
        permissionRequestCode); 
     } 
     return false; 
    } else { 
     Log.d(TAG, "checkMyPermissions (" + permissionRequestCode + ") : Permissions Passed"); 
     return true; 
    } 
+0

彼はカスタム許可要求ではなく、Googleのロケーションサービスダイアログ(https://i.stack.imgur.com/ccg4k.png)について質問しています。 – algarrobo

+0

質問は私には明らかです。 – algarrobo

関連する問題