1

내 응용 프로그램에 지오 펜스를 사용합니다. 사용자가 첫 번째 기기를 실행 한 후 처음으로 위치를 전환하면 Google에 동의 할 것을 요청합니다. 그러나 사용자가 동의하지 않으면 지오 펜스가 초기화 코드 1000을 반환합니다.Android Google의 위치 서비스 대화 상자 사용

내 앱에서 Google 위치 정보를 다시 사용하도록 요청하는 방법이 있습니까?

this questin을 알고 있지만이 대화 상자는 첫 번째 실행 위치 설정에서만 실행됩니다. 사용자가 disarge하면 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