Teknologi & DevelopmentAndroidMembuat Dialog Request Permission pada Android 6.0 Marshmallow

Membuat Dialog Request Permission pada Android 6.0 Marshmallow

-

GULANGGULING.COM | TUTORIAL ANDROID – Perlu diketahui bahwa pada Android versi 6.0 atau Marshmallow, Google membuat perubahan pada pemberian ijin setiap aplikasi.

Pada Android versi 6.0 tersebut setiap user dapat memberikan ijin pada setiap aplikasi secara manual. Jika Anda pengguna Android Marshmallow, maka Anda akan melihat pengaturan permission untuk setiap aplikasi yang Anda install.

Akibat perubahan ini, ada beberapa permission yang tidak secara otomatis akan jalan ketika Anda develop suatu aplikasi. Contohnya ketika Anda menggunakan permission untuk membaca account, maka aplikasi Anda tidak akan dapat menggunakan fungsi membaca account sampai user tersebut memberikan ijin secara manual.

Jika kode atau fungsi untuk menggunakan permission tersebut tidak di handle secara programming, maka dapat menyebabkan pesan error force close. Untuk menyelesaikan masalah ini Anda perlu membuat handle error atau membuat Dialog untuk melakukan request permission ini. Nah mari kita buat sebuah aplikasi untuk menampilkan Dialog untuk meminta permission.

Dalam kasus ini, saya menggunakan permission membaca account user atau GET_ACCOUNTS. Saya membuat fungsi untuk melakukan pengecekan keberadaan ijin permisi dari user, jika belum ada maka akan memunculkan dialog untuk meminta request.

Dibawah ini fungsi untuk melakukan check terhadap status permission yang kita request, Anda tinggal memanggilnya dari method onCreate pada activity atau tinggal disesuaikan saja pemanggilannya:

public void getPermissions() {
    /* Check and Request permission */
    if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.GET_ACCOUNTS) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(MainActivity.this,
                new String[]{Manifest.permission.GET_ACCOUNTS},
                MY_PERMISSIONS_REQUEST_GET_ACCOUNTS);
    }
}

Untuk menghandle hasil dari dialog tersebut, tambahkan fungsi @Override dibawah ini :

@Override
public void onRequestPermissionsResult(int requestCode,String permissions[], int[] grantResults) {
    switch (requestCode) {
        case MY_PERMISSIONS_REQUEST_GET_ACCOUNTS: {
            // If request is cancelled, the result arrays are empty.
            if (grantResults.length > 0
                    && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

                // permission was granted, yay! Do the
                // contacts-related task you need to do.

            } else {

                // permission denied, boo! Disable the
                // functionality that depends on this permission..
                Toast.makeText(MainActivity.this, "Permission denied to get Account", Toast.LENGTH_SHORT).show();

            }
            return;
        }

        // other 'case' lines to check for other
        // permissions this app might request
    }
}

Dengan fungsi diatas, maka aplikasi kita akan menampilkan dialog request sebuah permission yang akan kita gunakan, seperti pada gambar.

Tutorial Android Membuat Dialog Permission pada Android Marshmallow
Tutorial Android Membuat Dialog Permission pada Android Marshmallow

Full source code Activity :

package androlite.requestpermissions;

import android.Manifest;
import android.content.pm.PackageManager;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;
/*
* Create by Ardhitya Wiedha Irawan
* 2016
* aiueo.web.id
* gulangguling.com
* */
public class MainActivity extends AppCompatActivity {
    private static final int MY_PERMISSIONS_REQUEST_GET_ACCOUNTS = 1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getPermissions();
    }

    public void getPermissions() {
        /* Check and Request permission */
        if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.GET_ACCOUNTS) != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(MainActivity.this,
                    new String[]{Manifest.permission.GET_ACCOUNTS},
                    MY_PERMISSIONS_REQUEST_GET_ACCOUNTS);
        }
    }

    @Override
    public void onRequestPermissionsResult(int requestCode,String permissions[], int[] grantResults) {
        switch (requestCode) {
            case MY_PERMISSIONS_REQUEST_GET_ACCOUNTS: {
                // If request is cancelled, the result arrays are empty.
                if (grantResults.length > 0
                        && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

                    // permission was granted, yay! Do the
                    // contacts-related task you need to do.

                } else {

                    // permission denied, boo! Disable the
                    // functionality that depends on this permission..
                    Toast.makeText(MainActivity.this, "Permission denied to get Account", Toast.LENGTH_SHORT).show();

                }
                return;
            }

            // other 'case' lines to check for other
            // permissions this app might request
        }
    }


}

Sekian tutorial Android kali ini, semoga bermanfaat untuk saya dan untuk Anda yang membutuhkannya. Jangan lupa baca koleksi tutorial Android lainnya pada halaman ini.

Bye!

Download Full Source Code From Github

 

 

Artikel Tutorial Android :

 

GULANGGULINGcom
GULANGGULINGcomhttp://www.gulangguling.com
Menulis untuk memberi Informasi. Bukan suka mengada-ada, tapi menulis yang semestinya. Menulis dengan hati untuk blog yang bertujuan memberi Informasi.

2 COMMENTS

Comments are closed.

Latest news

Perbedaan Apache2 Reload dan Restart ?

Kamu pengguna apache ? ahh selamat! berarti kamu orang lama yang sulit move on haha. Konon sekarang di dunia...

Membuat Shortcut untuk switch Dark dan Light Mode di Macbook

Baru baru ini aku menginginkan sebuah fungsi tombol yang bisa mengganti tema di Macbook secara cepat, dari Dark Mode...

Cara buat Sticker langsung di Web WhatsApp tanpa Install aplikasi!

Hai sob! kali ini gulangguling.com akan berbagi cara mudah membuat sticker untuk whatsapp tanpa harus install aplikasi lainnya. Sering...

Cara Mengembalikan Nomer WhatsApp yang terkena Banned

Halo teman-teman. Kali ini saya akan berbagi cara mengembalikan nomer yang sudah terkena banned dari aplikasi WhatsApp. Tapi sebelumnya...

Aplikasi Rambox, dapat digunakan untuk login banyak akun WhatsApp hingga marketing jualan.

Aplikasi Rambox adalah sebuah program yang dirancang untuk mengintegrasikan beberapa aplikasi chatting dan kolaborasi dalam satu tempat. Dengan menggunakan...

Cara melihat history Kometar dan Like di Instagram

Pernah penasaran dengan apa saja sih yang pernah kita lakukan di Instagram? seperti kita likes komentarin postingan siapa saja...

Must read

You might also likeRELATED
Recommended to you