안드로이드에서 ACCESS_FINE_LOCATION 및 ACCESS_COARSE_LOCATION에 대한 권한을 얻고 싶습니다만, 어떤 이유로 든 ACCESS_COARSE_LOCATION에 대한 권한 만 부여합니다.안드로이드에서 ACCESS_FINE_LOCATION 권한을 얻을 수 없습니다.
내 활동
final int PERMISSION_ALL = 1;
String[] PERMISSIONS = {ACCESS_FINE_LOCATION,ACCESS_COARSE_LOCATION};
if(!hasPermissions(this, PERMISSIONS)){
System.out.println("=========================================nottttt========================================================");
ActivityCompat.requestPermissions(this, PERMISSIONS, PERMISSION_ALL);
}
@Override
public void onRequestPermissionsResult(int requestCode, String PERMISSIONS[], int[] grantResults) {
System.out.println("==================requesttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt");
switch (requestCode) {
case PERMISSION_ALL: {
System.out.println("lengthhhhhhhhhhhhhhhhhhhhhh"+PERMISSIONS.length);
for (int i = 0; i < PERMISSIONS.length; i++) {
String permission = PERMISSIONS[i];
if (grantResults[i] == PackageManager.PERMISSION_GRANTED) {
System.out.println(permission + "is alreadyyyyyyyyyyyyy grantedddddddddddddddd");
} else {
System.out.println(permission + "is not grantedddddddddddddddd");
}
return;
}
}
}
}
public static boolean hasPermissions(Context context, String[] permissions) {
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && context != null && permissions != null) {
for (String permission : permissions) {
if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
return false;
}
}
}
return true;
}
안드로이드 매니페스트 : 나는 응용 프로그램을 시작
<user-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<user-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
, 나는 위치에 액세스 권한을 부여하라는 메시지가하고, 난 네 선택하지만 ACCESS_FINE_LOCATION은 granted.Can 아니다 누군가 제가 문제를 찾도록 도와 주시겠습니까?
갑자기 변경 사항이 없으면 괜찮은 위치가 부여됩니다. 아무도 왜 이상한 동작이 발생했는지 알 수 있습니까? –