Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I request push notification permissions for android 13?

Tags:

android

I've looked through this guide for android 13 push notifications

https://developer.android.com/about/versions/13/changes/notification-permission#user-choice

And I've looked at the guide for requesting permissions

https://developer.android.com/training/permissions/requesting#java

I've updated my compile and target to api 32.

Here is my code so far (in progress). Right now I'm just trying to get the notification prompt to show up.

        if (Build.VERSION.SDK_INT >= 32) {
            if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_NOTIFICATION_POLICY) == PackageManager.PERMISSION_GRANTED)
                return;
            ActivityResultLauncher<String> launcher = registerForActivityResult(
                    new ActivityResultContracts.RequestPermission(), isGranted -> {

                    }
            );
            launcher.launch(Manifest.permission.POST_NOTIFICATIONS);
        }

The problem I have is I get an error cannot find symbol variable POST_NOTIFICATIONS.

What is the proper manifest permission for push notifications?

like image 726
John Oberhauser Avatar asked Dec 05 '25 17:12

John Oberhauser


2 Answers

You need to follow few steps, add post notifications permission in manifest

<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>

then in your controller as for run time permission like generally we ask:

if (Build.VERSION.SDK_INT >= 33) {
   if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) {
       ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.POST_NOTIFICATIONS},101);
       }
   else {
          createChannel();
        }
      }

Then Need to handle permission result as usual

like image 165
Manish Arora Avatar answered Dec 08 '25 07:12

Manish Arora


Maybe I'm a bit late to the party, I know... But I hope this can help others at least. You need to use compileSdkVersion 33 in your gradle file at the Module level. Then you'll be allowed to use the POST_NOTIFICATIONS permission without any issue. Gradle settings

like image 24
MatBuompy Avatar answered Dec 08 '25 07:12

MatBuompy



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!