mirror of
https://gitlab.com/oeffi/oeffi.git
synced 2025-07-07 21:28:49 +00:00
NearestFavoriteStationsWidgetPermissionActivity: on Android 11+, request background location permission separate from location permission
This commit is contained in:
parent
619853a04a
commit
7634c116ae
1 changed files with 12 additions and 4 deletions
|
@ -20,12 +20,16 @@ package de.schildbach.oeffi.stations;
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.core.app.ActivityCompat;
|
import androidx.core.app.ActivityCompat;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class NearestFavoriteStationsWidgetPermissionActivity extends Activity {
|
public class NearestFavoriteStationsWidgetPermissionActivity extends Activity {
|
||||||
private static final Logger log = LoggerFactory.getLogger(NearestFavoriteStationsWidgetPermissionActivity.class);
|
private static final Logger log = LoggerFactory.getLogger(NearestFavoriteStationsWidgetPermissionActivity.class);
|
||||||
|
@ -33,10 +37,14 @@ public class NearestFavoriteStationsWidgetPermissionActivity extends Activity {
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(final Bundle savedInstanceState) {
|
protected void onCreate(final Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
final String[] permissions = { Manifest.permission.ACCESS_FINE_LOCATION,
|
final List<String> permissions = new LinkedList<>();
|
||||||
Manifest.permission.ACCESS_BACKGROUND_LOCATION };
|
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED)
|
||||||
log.info("Requesting permissions: {}", Arrays.toString(permissions));
|
permissions.add(Manifest.permission.ACCESS_FINE_LOCATION);
|
||||||
ActivityCompat.requestPermissions(this, permissions, 0);
|
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_BACKGROUND_LOCATION) != PackageManager.PERMISSION_GRANTED)
|
||||||
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R || permissions.isEmpty())
|
||||||
|
permissions.add(Manifest.permission.ACCESS_BACKGROUND_LOCATION);
|
||||||
|
log.info("Requesting permissions: {}", permissions);
|
||||||
|
ActivityCompat.requestPermissions(this, permissions.toArray(new String[0]), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue