Ask Permission Android


untuk os android versi marshmallow ke atas setiap kali mau mengakses kamera, lokasi , memory dan sebagainya membutuhkan perizinan lebih di banding menggunakan versi android yang sebelumnya seperti kitkat.

kadang bagi pemula seperti saya, membuat koding untuk membuat pesan untuk konfirmasi agar user mengizinkan aplikasi mengakses hal-hal yang dibutuhkan bisa terasa rumit.

untuk itu lah package askpermission hadir!

https://github.com/Kishanjvaghela/Ask-Permission

oke, langsung saja ke cara penggunaannya.

pertama kita daftarkan dulu package nya di gradle file.

compile 'com.kishan.askpermission:askpermission:1.0.3'

lalu klik sync now.


misal ceritanya app kita membutuhkan perizinan untuk mengakses lokasi dan kamera. kita tambahkan dulu permissionnya di manifest.


buka MainActivity.java lalu kita implement ask permissionya.

implements PermissionCallback, ErrorCallback


lalu tambahkan variable berikut.

private static final int REQUEST_PERMISSIONS = 20;


lalu kita buat method reqPermission() dengan kode berikut.

private void reqPermission() {
new AskPermission.Builder(this).setPermissions(
Manifest.permission.CAMERA,
Manifest.permission.ACCESS_FINE_LOCATION)
.setCallback(this)
.setErrorCallback(this)
.request(REQUEST_PERMISSIONS);
}

lalu panggil method reqPermission di method onCreate().


lalu buat method onShowSettings() dengan kode berikut.

@Override
public void onShowSettings(final PermissionInterface permissionInterface, int requestCode) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("We need permissions for this app. Open setting screen?");
builder.setPositiveButton("oke", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
permissionInterface.onSettingsShown();
}
});
builder.setNegativeButton("cancel", null);
builder.show();
}

lalu buat method onShowRationalDialog() yang guna nya yaitu untuk memberitahu user kenapa user harus mengijinkan app menggunakan hal-hal yang dibutuhkan app.

@Override
public void onShowRationalDialog(final PermissionInterface permissionInterface, int requestCode) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("We need permissions for this app.");
builder.setPositiveButton("oke", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
permissionInterface.onDialogShown();
}
});
builder.setNegativeButton("cancel", null);
builder.show();
}

lalu buat method onPermissionGranted dan onPermissionDenied fungsi untuk kita membuat event, ketika permissionnya di izinkan maka akan terjadi apa dan ketika permissionnya tidak di izinkan maka akan terjadi apa.

@Override
public void onPermissionsGranted(int requestCode) {
Toast.makeText(this, "Permissions Received.", Toast.LENGTH_LONG).show();
}

@Override
public void onPermissionsDenied(int requestCode) {
Toast.makeText(this, "Permissions Denied.", Toast.LENGTH_LONG).show();
}

oke siap, jalankan apps nya !



sedikit ilmu dari saya, semoga bermanfaat.

Happy Coding 🙂


jika ada pertanyaan atau diskusi lebih lanjut silahkan berikan response di bawah ini dan jangan lupa claps nya ya 👏 hehe.

Tolong Like dan Share ya !

Leave a Reply

Your email address will not be published. Required fields are marked *