Preparations to ask for location permissions.

This commit is contained in:
Filip Strajnar 2024-10-20 14:47:34 +02:00
parent aefba383f2
commit 0ae7622259

View file

@ -1,9 +1,11 @@
package com.proculite.logmylocation;
import android.Manifest;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.content.pm.PackageManager;
import android.location.Location;
import android.location.LocationListener;
import android.os.Bundle;
@ -12,8 +14,11 @@ import android.util.Log;
import android.widget.TextView;
import androidx.activity.EdgeToEdge;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@ -87,4 +92,25 @@ public class MainActivity extends AppCompatActivity implements LocationListener,
Log.d(TAG, "Service null binding.");
ServiceConnection.super.onNullBinding(name);
}
private void ensureLocationPermission()
{
int fineLocationPermission = ContextCompat
.checkSelfPermission(this,Manifest.permission.ACCESS_FINE_LOCATION);
boolean fineLocationGranted = fineLocationPermission == PackageManager.PERMISSION_GRANTED;
if(!fineLocationGranted)
{
ActivityResultLauncher<String[]> permissionsLauncher = registerForActivityResult(
new ActivityResultContracts.RequestMultiplePermissions(), isGranted -> {});
permissionsLauncher.launch(new String[]{
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_BACKGROUND_LOCATION
});
}
else
{
Log.d(TAG, "Permissions already granted.");
}
}
}