Runtime Permission in Pre-Marshmallow

As we have already discussed about Requesting Runtime Permission in Marshmallow, now what if we want to give suuport for Runtime Permission in Pre-Marshmallow devices.

And the solution is : Support Library

If we want to use checkSelfPermission() we need to use minSdkVersion 23 but what if we want to give support in both Marshmallow and pre-marshmallow devices. There are small changes we need to do with those methods we are using for Marshmallow.

– ContextCompat.checkSelfPermission()

No matter application is run on Marshmallow or not. This function will correctly return PERMISSION_GRANTED if the permission is granted. Otherwise PERMISSION_DENIED will be returned.

– ActivityCompat.requestPermissions()

If this function is called on pre-Marshmallow, OnRequestPermissionsResultCallback will be suddenly called with correct PERMISSION_GRANTED or PERMISSION_DENIED result.

-ActivityCompat.shouldShowRequestPermissionRationale() 

it will always return false, if called on pre-marshmallow.

Here i am sharing demo code, please take a look at that.

Follow me

Ravi Rupareliya

He is author of Android Gig. He loves to explore new technologies and have worked on Android, React Native, Action on Google and Flutter.
Ravi Rupareliya
Follow me
addHeaderView in RecyclerView
EventBus Library In Android