2017-11-15 2 views
-6

"다시 묻지 않음"텍스트없이 권한 팝업을 어떻게 요청할 수 있습니까? 여기에 자바 코드 이 팝업에서 "다시 묻지 않기"텍스트를 제거하는 방법은 무엇입니까?

,
if 
(intent.getAction().equals("com.finish.canceltrip.DriverMapActivity")) { 
       if (!checkAccessFineLocationPermission() || !checkAccessCoarseLocationPermission() || !checkWriteExternalStoragePermission()) { 
        requestPermission(); 
       } else { 
        Intent i = new Intent(DriverMapActivity.this, DriverMapActivity.class); 
        i.putExtra("availability", "Yes"); 
        finish(); 
        startActivity(i); 

       } 

enter image description here

+4

이 목적을 이해한다고 생각하지 않습니다. 그것은 당신의 선택이 아닙니다. –

+0

사용자가 다시 묻지 않는 옵션을 선택하면 다음에 물을 수 없습니다. 그러면 앱에서 현재 위치를 보는 방법을 알 수 있습니다. – Ana

+0

@Ana 코드 작성 및 로직을 통해 처리 할 수 ​​있습니다. – Prem

답변

5
나는 텍스트를 "다시 묻지 않음"없이 허가 팝업을 요청할 수있는 방법

?

NO하면 사용자가 다시

요구하지이

같이 허가를 요청 마십시오 을 선택하면

이이 해킹을 시도 권한에서 대화를 "를 다시 표시 안"를 제거 할 수 없습니다

btnCurrentLocationSearch.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       String permission = android.Manifest.permission.ACCESS_FINE_LOCATION; 


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

        Toast.makeText(SearchCityClass.this, "Permission not granted", Toast.LENGTH_SHORT).show(); 

        ActivityCompat.requestPermissions(SearchCityClass.this, new String[] 
          {permission}, requestCode); 

       } else { 
        isPermissionGranted(true); 
       } 
      } 

     }); 

핸들 권한보다 사용자가 다시 응용 프로그램 중 하나를 종료한다 거절하면 어떤 u는 그 대화

에서 다시을 요구하지 마십시오 를 제거 할 수 없습니다이

public void isPermissionGranted(boolean permission) { 
     if (!permission) { 
      Toast.makeText(this, "Permission not Granted", Toast.LENGTH_SHORT).show(); 
      startActivity(new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS, 
        Uri.fromParts("package", getPackageName(), null))); 
     } else { 
      Toast.makeText(SearchCityClass.this, "true", Toast.LENGTH_SHORT).show(); 
      Toast.makeText(SearchCityClass.this, "Permission granted", Toast.LENGTH_SHORT).show(); 
      // you need to perform all action here if user grants the permission 
     } 
    } 
1

같은 방법을 만드는 것보다 onRequestPermissionsResult

@Override 
     public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { 
      super.onRequestPermissionsResult(requestCode, permissions, grantResults); 
      if (requestCode == requestCode) { 
       if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { 

        isPermissionGranted(true); 
       } else { 

        isPermissionGranted(false); 
       } 
      } 
     } 

그 권한이 절대적으로 필요하거나 제한된 기능으로 계속 실행되는 경우.

사용자가 재검토 (재 시도를 선택)하면 권한이 다시 요청됩니다. 이번에는 프롬프트가 다음과 같이 보입니다.

관련 문제