<izin>

söz dizimi:
<permission android:description="string resource"
            android:icon="drawable resource"
            android:label="string resource"
            android:name="string"
            android:permissionGroup="string"
            android:protectionLevel=["normal" | "dangerous" |
                                     "signature" | ...] />
bulunduğu yer:
<manifest>
description:
Aşağıdaki işlemlerde kullanılan güvenlik iznini beyan eder: bu uygulamanın veya diğer uygulamaların belirli bileşenlerine veya özelliklerine erişimi sınırlandırın. İzinlerin işleyiş şekli hakkında daha fazla bilgi için uygulama manifesti genel bakış sayfasındaki İzinler bölümüne ve Güvenlik ipuçları'na göz atın.
özellikler:
android:description
Daha uzun ve daha uzun bir iznin kullanıcı tarafından okunabilen açıklaması daha fazla bilgi içeriyor. Bu, örneğin kullanıcıdan izin alması gerektiğinde başka bir uygulamaya erişim izni verebilirsiniz.

Bu özellik, bir dize kaynağına referans olarak ayarlanır. label özelliğinden farklı olarak, işlenmemiş bir dize olamaz.

android:icon
Sayfanın çekilebilir kaynağını temsil eden izni gerekir.
android:label
İzin için kullanıcı tarafından okunabilir bir ad.

Kolaylık sağlamak için etiket doğrudan ayarlanabilir siz uygulamayı geliştirirken ham dize olarak kullanabilirsiniz. Ancak, uygulama yayınlanmaya hazır olduğunda, diğer öğeler gibi yerelleştirilebilmesi için bir dize kaynağına referans verir. dizeler halinde çalışır.

android:name
Kullanılacak ad kodu kullanabilirsiniz (örneğin, <uses-permission> öğesi veya Uygulama bileşenlerinin permission özellikleri.

Not: Sistem, birden fazla paketin bildirim göndermesine izin vermez. tüm paketlerin hepsi aynı sertifikaya sahip olursunuz. Bir paket izin beyan ederse sistem aynı izin adına sahip diğer paketleri yüklemesini bu paketler ilk paketle aynı sertifikayla imzalanır.

Bu nedenle Google, izinlerin başına uygulama paketinin adını eklemenizi önerir. gibi bir ad verebilirsiniz. Bu ön eki .permission. ile ve ardından iznin üst SNAKE_CASE içinde temsil ettiği özellik. Örnek: com.example.myapp.permission.ENGAGE_HYPERSPACE

Bu önerinin uygulanması, adlandırma çakışmalarını önler ve sahibi net bir şekilde tanımlamaya yardımcı olur ve özel iznin amacı.

android:permissionGroup
Bu izni bir gruba atar. Bu özelliğin değeri: grubun adı; Bu öğede <permission-group> öğe veya başka bir uygulama. Bu özellik ayarlanmazsa bir gruba ait değil.
android:protectionLevel

İzinde belirtilen potansiyel riski nitelendirir ve bir karar verirken izlemesi gereken prosedürü de ve izin isteyen bir uygulamaya izin verilip verilmeyeceğini belirler.

Her koruma seviyesi, bir temel izin türü ile sıfır veya daha fazla izinden oluşur işaretidir. Örneğin, "dangerous" koruma seviyesinde işaretidir. Buna karşılık "signature|privileged" koruma düzeyi "signature" temel izin türünün ve "privileged" işareti.

Aşağıdaki tabloda tüm temel izin türleri gösterilmektedir. İşaretlerin listesi için bkz. protectionLevel

Değer Anlamı
"normal" Varsayılan değerdir. İstekte bulunma izni veren düşük riskli bir izin uygulamaların, kullanıcı izni ve standart uygulama düzeyinde uygulama, sistem veya kullanıcı için asgari riskin bulunduğunu ifade eder. Sistem bu türü otomatik olarak verir istekte bulunan uygulama için yalnızca gerekli izinleri kullanıcının açık onayını istemesine rağmen kullanıcı her zaman adlı uygulama, yüklemeden önce bu izinleri inceleyebilir.
"dangerous" İstekte bulunan uygulamaya izin veren daha yüksek riskli bir izin gizli kullanıcı verilerine erişme veya cihaz üzerinde kontrol sahibi olma, etkilemesine yardımcı olur. Çünkü bu tür bir izin ortaya çıkarsa sistem, kurumsal kültürü istekte bulunan uygulamaya erişim izni verebilir. Örneğin, tehlikeli olabilecek uygulama tarafından istenen izinler ekranda görüntülenebilir ve devam etmeden önce onay gerektiriyor veya başka bir işlem kullanıcının otomatik olarak yeniden kullanımıdır.
"signature" Sistemin, yalnızca istekte bulunan uygulama, uygulamayla aynı sertifikayla imzalanmış olmalıdır. e-posta adresini Google'a gönderin. Sertifikalar eşleşirse sistem, kullanıcıya bildirimde bulunmadan otomatik olarak izin verdiğinden kullanıcının açık onayını istemelidir.
"knownSigner" Sistemin, yalnızca istekte bulunan başvuru şununla imzalandı: izin verilen sertifikası hakkında daha fazla bilgi edinin. İstekte bulunanın sertifikası listede varsa sistem, kullanıcıya bildirimde bulunmadan otomatik olarak izin verdiğinden kullanıcının açık onayını istemelidir.
"signatureOrSystem"

"signature|privileged" için eski eş anlamlı. API'de desteği sonlandırıldı 23. seviye.

Sistemin yalnızca şu özelliğe sahip uygulamalara verdiği bir izin: Android sistem görüntüsünde özel bir klasörde veya beyan eden uygulamayla aynı sertifika ile imzalanmış olmalıdır. izni gerekir. "signature" gibi bu seçeneği kullanmaktan kaçının çoğu ihtiyaç için yeterli bir koruma seviyesidir. nerede yüklü olduğunu öğreneceğiz.

İlgili içeriği oluşturmak için kullanılan Belirli özel etkinlikler için "signatureOrSystem" izni kullanılıyor Birden fazla satıcının sistemde yerleşik uygulamalar bulunduğu durumlar ve belirli özellikleri açık bir şekilde paylaşmanız gerekir çünkü bu gerçeği göz önünde bulundurur.

tanıtıldığı yer:
API düzeyi 1
ayrıca bkz.:
<uses-permission>
<permission-tree>
<permission-group>