Restart service when POST_NOTIFICATIONS is granted
This commit is contained in:
parent
e3ff269a1f
commit
f296cb7361
@ -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
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user