Required permission to post notifications

This commit is contained in:
antonio 2023-01-06 23:09:12 +01:00
parent 105d5ca9c5
commit 84ea21ff05
2 changed files with 15 additions and 0 deletions

View file

@ -1,7 +1,10 @@
package com.cappielloantonio.play.ui.activity.base;
import android.Manifest;
import android.content.ComponentName;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.os.PowerManager;
import android.provider.Settings;
@ -9,6 +12,8 @@ import android.provider.Settings;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.media3.common.util.UnstableApi;
import androidx.media3.exoplayer.offline.DownloadService;
import androidx.media3.session.MediaBrowser;
@ -46,6 +51,7 @@ public class BaseActivity extends AppCompatActivity {
protected void onResume() {
super.onResume();
checkBatteryOptimization();
checkPermission();
}
@Override
@ -60,6 +66,14 @@ public class BaseActivity extends AppCompatActivity {
}
}
private void checkPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.POST_NOTIFICATIONS}, 101);
}
}
}
private boolean detectBatteryOptimization() {
String packageName = getPackageName();
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);