Easy Permissions allows you to request all the permissions declared in your AndroidManifest
with one line of code. It knows what permissions you have declared in your AndroidManifest
and will request them for you if needed. In addition, it allows you to make this request from anywhere in your code; no longer will you have to request permissions exclusively from an Activity
.
Sample - It knows what permissions you have in your AndroidManifest
and will request them if needed.
EasyPermissions.getInstance().requestPermissions(IPermissionsListener(
onCompleted = { grantedPermissions, deniedPermissions ->
}
))
Request permissions from anywhere. Make sure you implement IPermissionsListener
to receive information about what is happening with your permission request.
Include the below dependencies in your build.gradle
project.
buildscript {
repositories {
google()
maven { url "https://newtronlabs.jfrog.io/artifactory/libs-release-local" }
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.4'
classpath 'com.newtronlabs.android:plugin:5.0.2'
}
}
allprojects {
repositories {
google()
maven { url "https://newtronlabs.jfrog.io/artifactory/libs-release-local" }
}
}
subprojects {
apply plugin: 'com.newtronlabs.android'
}
In the build.gradle
for your app.
dependencies {
compileOnly 'com.newtronlabs.easypermissions:easypermissions:5.0.3-alpha01'
}
This example uses a Service
to request the permission, something that cannot be done without EasyPermissions. It also automatically requests the permissions that you have enabled on your AndroidManifest
.
class ExampleService : Service(), IPermissionsListener {
override fun onCreate() {
super.onCreate()
// Will request all permissions from the Manifest automatically.
EasyPermissions.getInstance().requestPermissions(this)
}
override fun onCompleted(grantedPermissions: Set<String>, deniedPermissions: Set<String>) {}
override fun onFailure(throwable: Throwable) {}
}
public class ExampleService extends Service implements IPermissionsListener {
@Override
public void onCreate() {
super.onCreate();
// Will request all permissions from the Manifest automatically.
EasyPermissions.getInstance().requestPermissions(this);
}
@Override
public void onCompleted(Set<String> grantedPermissions, Set<String> deniedPermissions) {}
@Override
public void onFailure(Throwable throwable) {}
}
This example allows more flexibility so that you can decide which permissions you desire. Request as many permissions as you like. You may seperate them by commas or pass an array. Make sure that these permissions are declared in your AndroidManifest
as well.
EasyPermissions.getInstance().requestPermissions(this,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA,
Manifest.permission.CALL_PHONE,
Manifest.permission.WRITE_EXTERNAL_STORAGE);
Get a set of granted permissions.
EasyPermissions.getInstance().getGrantedPermissions()
As an Android requirement permissions must be included in the Manifest.
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
More detailed exmaples can be found in this repo's samples folders: Demo app
Please support the continued development of these libraries. We host and develop these libraries for free. Any support is deeply appriciated. Thank you!
BTC Address: 39JmAfnNhaEPKz5wjQjQQj4jcv9BM11NQb
https://gist.github.com/NewtronLabs/216f45db2339e0bc638e7c14a6af9cc8