Compare commits

...

1 commit

Author SHA1 Message Date
Filip Strajnar 0ae7622259 Preparations to ask for location permissions. 2024-10-20 14:47:34 +02:00

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.");
}
}
}