Cara Membuat Notice Izin Aplikasi Android


Cara Membuat Notice Izin Aplikasi Android


Di Android, tanpa izin dari pengguna perangkat, aplikasi Anda tidak dapat menggunakan data sistem, perangkat keras, dan fitur lainnya di perangkat. Jika aplikasi Anda bergantung pada fitur sistem atau perangkat keras tertentu, aplikasi perlu meminta izin untuk mengakses fitur tersebut di perangkat. Jika aplikasi menggunakan fitur atau data yang kurang sensitif, sistem akan secara otomatis memberikan izin tersebut. Untuk izin lainnya, penerimaan pengguna diperlukan.

Mempublikasikan Izin
Di aplikasi Anda, Anda perlu mencantumkan semua izin yang diperlukan untuk mengakses fitur dan data di AndroidManifest.xml. Misalnya, jika aplikasi Anda perlu menulis ke penyimpanan perangkat, Anda perlu menambahkan izin WRITE_EXTERNAL_STORAGE untuk memanifestasikan file xml.
 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.zoftino.flights">

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

  ......

</manifest>
Salah satu tujuan pencatatan izin dalam manifes xml adalah membiarkan sistem mengetahui semua izin yang diperlukan sehingga dapat memberikan secara otomatis izin untuk fitur atau data yang kurang sensitif. Beberapa izin yang kurang sensitif adalah ACCESS_NETWORK_STATE, ACCESS_WIFI_STATE, BLUETOOTH, INTERNET, KILL_BACKGROUND_PROCESSES, SET_ALARM, SET_TIME_ZONE, SET_WALLPAPER, dan VIBRATE.

Mempublikasikan Fitur
Agar entitas eksternal tahu tentang fitur dan data aplikasi Anda, Anda harus mencantumkan fitur-fitur yang digunakan aplikasi Anda di AndroidManifest.xml. Misalnya, jika aplikasi Anda menggunakan kamera, selain izin kamera, Anda perlu menambahkan fitur kamera dalam file xml yang nyata.
 <uses-feature android:name="android.hardware.camera" android:required="false" />   
<uses-permission android:name="android.permission.CAMERA"/>
Entitas eksternal seperti Google Play Store menggunakan elemen fitur-pengguna untuk menentukan apakah aplikasi Anda harus ditampilkan kepada pengguna atau tidak. Jika perangkat pengguna tidak memiliki fitur yang diminta dan aplikasi Anda mencantumkannya sesuai kebutuhan, aplikasi Anda tidak akan ditampilkan di play store untuk dipasang pengguna. Pengaturan atribut yang diperlukan dari elemen uses-feature ke false mengatakan bahwa fitur tersebut opsional dan pengguna dapat menggunakan aplikasi Anda tanpa adanya fitur pada perangkat.
Misalnya jika fitur kamera bersifat opsional untuk aplikasi Anda, Anda dapat mengatur atribut yang diperlukan dari elemen menggunakan fitur ke false. Tetapi di aplikasi Anda saat runtime, Anda perlu memeriksa apakah fitur kamera ada atau tidak pada perangkat yang dijalankan dengan memanggil metode hasSystemFeature di PackageManger dan berdasarkan hasil fitur aplikasi yang menggunakan kamera dapat diaktifkan atau dinonaktifkan.
 if(!getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)){
    capturePic.setEnabled(false);
}
Meminta Izin

Untuk perangkat yang menjalankan Android 5.1.1 (API level 22) atau lebih rendah, cukup mencantumkan izin cukup dan pada saat menginstal aplikasi Anda, sistem meminta pengguna untuk menerima izin. Jika pengguna menerimanya, pemasangan akan berlanjut jika tidak maka akan dibatalkan.
Tetapi pada perangkat yang menjalankan Android 6.0 (API level 23) atau lebih tinggi, aplikasi harus meminta izin saat runtime. Sebelum meminta izin, itu adalah praktik yang baik untuk melihat apakah izin sudah diberikan atau tidak. Anda dapat memeriksa apakah izin sudah diberikan atau tidak dengan memanggil ContextCompat.checkSelfPermission () metode melewati konteks dan izin untuk itu. Jika izin tidak diberikan, Anda dapat memintanya menggunakan ActivityCompat.requestPermissions melalui konteks dan daftar izin untuk itu.
 if (ContextCompat.checkSelfPermission(this, "android.permission.READ_CONTACTS")
        != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this,
            new String[]{"android.permission.READ_CONTACTS"}, 2);
}
Pada pemanggilan metode ActivityCompat.requestPermissions (), sistem meminta pengguna dengan dialog yang memberikan opsi untuk mengizinkan atau menolak izin yang diminta.
contoh perizinan android

Setelah pengguna mengizinkan atau menolak izin, sistem akan memanggil metode onRequestPermissionsResult dalam aktivitas yang meminta izin. Jadi, jika Anda perlu menangani tanggapan izin untuk mengetahui apakah izin yang diminta diberikan atau ditolak, Anda harus menerapkan metode callback onRequestPermissionsResult.
@Override
public void onRequestPermissionsResult(int requestCode,
                                       String permissions[], int[] grantResults) {
    switch (requestCode) {
        case CONTACT_PERM_REQ: {
            if (grantResults.length > 0
                    && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                Toast.makeText(this,"Read contacts granted"
                        ,Toast.LENGTH_LONG).show();
            }
            return;
        }
    }
}

Izin Jangan Minta Opsi Lagi
Jika pengguna menolak permintaan izin pertama kali dan izin yang sama diminta lagi, tidak akan ada lagi kotak centang dalam dialog permintaan izin. Opsi ini memungkinkan pengguna untuk memberi tahu sistem agar tidak meminta izin yang sama lagi. Dalam skenario ini, jika aplikasi meminta izin yang sama lagi, sistem akan mengabaikannya.
izin android meminta waktu kedua dan seterusnyaPenjelasan Izin

Dalam hal jika pengguna menolak izin, lebih baik memberikan informasi saat berikutnya ketika izin diminta mengapa aplikasi Anda memerlukan izin untuk membuat pengguna memahami alasannya dan bagaimana fitur yang diminta digunakan di aplikasi Anda.
Anda dapat menggunakan metode shouldShowRequestPermissionRationale () dalam aktivitas yang mengembalikan nilai true jika pengguna sudah menolak izin dan memberikan penjelasan jika itu mengembalikan nilai true. Misalnya, Anda dapat menampilkan dialog yang menunjukkan alasan di balik meminta izin.
 if(shouldShowRequestPermissionRationale("android.permission.CAMERA")){
    AlertDialog alertDialog = new AlertDialog.Builder(this).create();
    alertDialog.setTitle("Camera Permission");
    alertDialog.setMessage("Camera permission is required to in order to " +
            "provide photo capture feature");
    alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "OK",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    dialog.dismiss();
                }
            });
    alertDialog.show();
}
contoh izin androidGrup Izin
Sistem Android mengatur izin terkait ke dalam grup. Jika pengguna mengizinkan izin dari grup dan aplikasi Anda meminta izin kedua dari grup yang sama, sistem akan secara otomatis memberikan izin. Misalnya, jika pengguna menerima permintaan aplikasi untuk izin READ_CALENDAR dan kemudian permintaan izin WRITE_CALENDAR, sistem akan secara otomatis memberikan izin WRITE_CALENDAR tanpa meminta penerimaan pengguna. Ini karena izin READ_CALENDAR dan WRITE_CALENDAR milik grup CALENDAR.
Demikian pula, READ_CONTACTS dan WRITE_CONTACTS milik grup CONTACTS. Jika Anda melihat di screen shot di atas yang menunjukkan permintaan izin untuk READ_CONTACTS, nama grup disebutkan dalam dialog izin.
Izin Khusus
Sejauh ini kami menggunakan sistem yang memberikan izin yang memungkinkan aplikasi untuk menggunakan fitur dan data perangkat. Anda dapat menentukan izin khusus untuk aplikasi Anda untuk berbagi sumber daya atau layanan Anda dengan aplikasi lain. Anda dapat membuat izin khusus di aplikasi Anda dengan menentukan izin dalam file xml nyata menggunakan elemen izin.
 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.zoftino.flights">
    <permission
        android:name="com.zoftino.flights.permission.USER_ACTIVITY"
        android:label="Zoftino User Activity"
        android:description="This permission allows apps to get user activity data"
        android:protectionLevel="dangerous" />
Anda dapat menggunakan izin khusus untuk membagikan aktivitas aplikasi, layanan, dan penerima siaran, dll. Anda dapat menerapkan izin khusus ke komponen tersebut dengan menambahkan atribut izin ke konfigurasi komponen terkait dalam xml nyata.
 <activity android:name=".FlightsActivity"
android:permission="com.zoftino.flights.permission.USER_ACTIVITY"></activity>
Jika izin khusus diberlakukan untuk aktivitas dalam aplikasi, aplikasi lain yang bergantung pada aktivitas perlu meminta izin dan pengguna harus menerimanya sebelum aplikasi dapat memulai aktivitas jika tidak SecurityException akan dibuang.

ini adalah ulasan tentang Cara membuat notice izin aplikasi di android
Semoga Bermanfaat .

0 Response to "Cara Membuat Notice Izin Aplikasi Android "

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel