0

Google은 정기적 인 위치 업데이트를 위해 통합 된 Google API를 등록하는 위치 추적을 위해 Android 백그라운드 서비스를 사용하고 있습니다. 위치 업데이트 서비스를 시작할 때 위치 권한을 요청하고 사용자가 동의하면 서비스를 시작하고 통합 된 Google API를 등록합니다.Android - 위치 권한으로 인해 앱이 다운 됨

하지만 사용자가 권한을 승인하고 위치 업데이트에 등록 된 위치 API를 통합하면 나중에 사용자가 앱의 기기 설정에서 위치 권한을 취소합니다. 사용자 일단이 작업을 수행 , 응용 프로그램은 인해

이 java.lang.SecurityException 충돌 시작 : 클라이언트 PRIORITY_HIGH_ACCURACY 위치를 요청하는 ACCESS_FINE_LOCATION 권한이 있어야합니다.

이 상황을 어떻게 처리합니까?

+1

확인 thoes이 권한을 추가하는 것을 잊지 마세요. – ADM

+0

try catch 블록 안에 넣고 사용자에게 응용 프로그램을 계속 사용할 수있는 권한을 부여하라는 알림을 보냅니다. – Kushan

+0

문제는 이미 위치 API를 주기적으로 융합 제어하도록 설정했기 때문입니다. – Pankaj

답변

0

주 활동에이 방법을 추가하고 onCreate() 방법으로 전화하십시오.

public boolean havePermission() { 
     if (Build.VERSION.SDK_INT >= 23) { 
      if (checkSelfPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED && checkSelfPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) { 
       return true; 
      } else { 
       ActivityCompat.requestPermissions(this , new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, 1); 
       return false; 
      } 
     } 
     else { 
      return true; 
     } 
    } 

허가에 대한 귀하의 mainifest.xml 당신이 위치를 요청할 때마다

+0

리스너가 이미 설정 한 경우 문제를 묻습니다. – Pankaj

관련 문제