- sintaksis:
<permission android:description="string resource" android:icon="drawable resource" android:label="string resource" android:name="string" android:permissionGroup="string" android:protectionLevel=["normal" | "dangerous" | "signature" | ...] />
- terdapat dalam:
<manifest>
- deskripsi:
- Mendeklarasikan izin keamanan yang dapat digunakan untuk membatasi akses ke komponen atau fitur tertentu milik aplikasi ini atau aplikasi lainnya. Lihat bagian Izin dalam pengantar serta dokumen Keamanan dan Izin untuk mengetahui informasi selengkapnya tentang cara kerja izin.
- atribut:
android:description
- Deskripsi izin yang dapat dibaca pengguna, lebih panjang dan lebih
informatif dari labelnya. Deskripsi ini mungkin ditampilkan untuk menjelaskan
izin kepada pengguna; misalnya, saat pengguna ditanya
apakah akan memberikan izin ke aplikasi lain atau tidak.
Atribut ini harus ditetapkan sebagai referensi ke resource string; tidak seperti atribut
label
, atribut ini tidak boleh berupa string mentah. android:icon
- Referensi ke resource draable bagi ikon yang menggambarkan izin.
android:label
- Nama untuk izin, yang dapat ditampilkan kepada pengguna.
Untuk memudahkan Anda, label dapat langsung ditetapkan sebagai string mentah selagi Anda mengembangkan aplikasi. Namun, setelah aplikasi siap dipublikasikan, aplikasi harus ditetapkan sebagai referensi ke resource string, sehingga dapat dilokalkan seperti string lain pada antarmuka pengguna.
android:name
- Nama izin. Nama ini akan digunakan dalam
kode untuk merujuk pada izin; misalnya, dalam
elemen
<uses-permission>
dan atributpermission
komponen aplikasi.Catatan: Sistem tidak mengizinkan beberapa paket untuk mendeklarasikan izin dengan nama yang sama, kecuali semua paket ditandatangani dengan sertifikat yang sama. Jika sebuah paket mendeklarasikan suatu izin, sistem tidak akan mengizinkan pengguna menginstal paket lain dengan nama izin yang sama, kecuali jika paket tersebut ditandatangani dengan sertifikat yang sama seperti paket pertama.
Sebaiknya berikan awalan izin dengan nama paket aplikasi, menggunakan penamaan gaya domain terbalik. Awalan ini harus diikuti dengan
.permission.
, lalu deskripsi kemampuan yang diwakili oleh izin tersebut, dalam format upper SNAKE_CASE. Misalnya:com.example.myapp.permission.ENGAGE_HYPERSPACE
.Dengan mengikuti rekomendasi ini, Anda dapat menghindari konflik penamaan serta mengidentifikasi dengan jelas pemilik dan maksud izin kustom.
android:permissionGroup
- Menetapkan izin ini ke grup. Nilai atribut ini adalah
nama grup, yang harus dideklarasikan dengan
elemen
<permission-group>
dalam aplikasi ini atau aplikasi lainnya. Jika atribut ini tidak ditetapkan, izin tidak akan menjadi milik grup apa pun. android:protectionLevel
-
Menggambarkan potensi risiko yang tersirat dalam izin dan menunjukkan prosedur yang harus diikuti sistem saat menentukan apakah akan memberikan izin kepada aplikasi yang memintanya atau tidak.
Setiap tingkat perlindungan terdiri dari satu jenis izin dasar serta tanpa tanda atau dengan beberapa tanda. Contohnya, tingkat perlindungan
"dangerous"
tidak memiliki tanda. Sebaliknya, tingkat perlindungan"signature|privileged"
adalah kombinasi dari jenis izin dasar"signature"
dan tanda"privileged"
.Tabel berikut ini menampilkan semua jenis izin dasar. Untuk daftar tanda, lihat
protectionLevel
.Nilai Arti " normal
"Nilai default. Izin dengan risiko lebih rendah yang memungkinkan aplikasi pemohon mengakses fitur tingkat aplikasi yang terisolasi, dengan risiko minimal terhadap aplikasi lain, sistem, atau pengguna. Sistem akan secara otomatis memberikan jenis izin ini ke aplikasi permintaan saat penginstalan, tanpa meminta persetujuan eksplisit dari pengguna (meskipun pengguna selalu memiliki opsi untuk meninjau izin ini sebelum penginstalan). " dangerous
"Izin dengan risiko lebih tinggi yang akan memungkinkan aplikasi pemohon mengakses data pengguna pribadi atau kontrol perangkat yang dapat memberikan dampak negatif kepada pengguna. Jenis izin ini menimbulkan potensi risiko sehingga sistem mungkin tidak secara otomatis memberikannya ke aplikasi permintaan. Contohnya, setiap izin berbahaya yang diminta oleh aplikasi mungkin ditampilkan kepada pengguna dan memerlukan konfirmasi sebelum prosesnya dilanjutkan, atau beberapa metode lain dapat dilakukan agar pengguna tidak mengizinkan penggunaan fasilitas tersebut secara otomatis. " signature
"Izin yang hanya akan diberikan oleh sistem jika aplikasi pemohon ditandatangani dengan sertifikat yang sama seperti aplikasi yang menyatakan izin. Jika sertifikat cocok, sistem akan otomatis memberikan izin tanpa memberi tahu pengguna atau meminta persetujuan eksplisit pengguna. " signatureOrSystem
"Sinonim lama untuk
"signature|privileged"
. Tidak digunakan lagi di API level 23.Izin yang hanya akan diberikan oleh sistem ke aplikasi yang ada dalam folder khusus di image sistem Android atau yang ditandatangani dengan sertifikat yang sama seperti aplikasi yang menyatakan izin. Hindari penggunaan opsi ini karena, di mana pun lokasi penginstalan aplikasi, tingkat perlindungan
signature
harus memadai untuk sebagian besar kebutuhan dan pekerjaan. Izin "signatureOrSystem
" digunakan untuk situasi khusus tertentu ketika beberapa vendor memiliki aplikasi yang di-build ke dalam image sistem dan harus berbagi fitur tertentu secara eksplisit karena di-build bersama-sama.
- diperkenalkan di:
- API Level 1
- lihat juga:
<uses-permission>
<permission-tree>
<permission-group>
Konten dan contoh kode di halaman ini tunduk pada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2022-05-19 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Informasi yang saya butuhkan tidak ada"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Terlalu rumit/langkahnya terlalu banyak"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Sudah usang"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Masalah terjemahan"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Masalah kode / contoh"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Lainnya"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Mudah dipahami"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Memecahkan masalah saya"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Lainnya"
}]