Restart service when POST_NOTIFICATIONS is granted

This commit is contained in:
sim 2022-10-02 17:05:36 +02:00
parent e3ff269a1f
commit f296cb7361

View File

@ -5,6 +5,7 @@ import android.content.BroadcastReceiver
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.IntentFilter import android.content.IntentFilter
import android.content.pm.PackageManager
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.util.Log import android.util.Log
@ -104,19 +105,28 @@ class MainActivity : AppCompatActivity() {
private fun requestPermissions() { private fun requestPermissions() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
registerForActivityResult( if (checkSelfPermission(Manifest.permission.POST_NOTIFICATIONS)
ActivityResultContracts.RequestPermission() != PackageManager.PERMISSION_GRANTED) {
) { granted -> Log.d(TAG, "Requesting POST_NOTIFICATIONS permission")
if (!granted && registerForActivityResult(
shouldShowRequestPermissionRationale(Manifest.permission.POST_NOTIFICATIONS)) { ActivityResultContracts.RequestPermission()
AlertDialog.Builder(this) ) { granted ->
.setTitle(getString(R.string.no_notification_dialog_title)) Log.d(TAG, "POST_NOTIFICATIONS permission granted: $granted")
.setMessage(R.string.no_notification_dialog_message) if (granted) {
.show() restart()
} } else {
} .launch( if (shouldShowRequestPermissionRationale(Manifest.permission.POST_NOTIFICATIONS)) {
Manifest.permission.POST_NOTIFICATIONS Log.d(TAG, "Show POST_NOTIFICATIONS permission rationale")
) AlertDialog.Builder(this)
.setTitle(getString(R.string.no_notification_dialog_title))
.setMessage(R.string.no_notification_dialog_message)
.show()
}
}
}.launch(
Manifest.permission.POST_NOTIFICATIONS
)
}
} }
} }