Android güvenlik modeli, her uygulamanın güvenlik ve gizlilik iması içeren özellikleri kullanmak için izin istemesini gerektirir. Bu izinler uygulama paketlenirken belirtilmelidir ve çalışma zamanında değiştirilemez. Android işletim sistemi, kullanıcı yüklediğinde uygulamanın hangi izinleri istediğini bildirir. Bir özellik için gerekli olan izin istenmezse, uygulamanız özelliğe eriştiğinde Android işletim sistemi bir istisna atabilir ancak bunun garantisi verilmez. İstisnalar uygulamanıza çalışma zamanı tarafından iletilir. Sessiz bir hata oluşması durumunda, Android sistem günlüğüne bir hata mesajı eklenir.
AIR'de, Android izinlerini uygulama tanımlayıcısının
android
öğesinde belirtirsiniz. İzin eklemek için aşağıdaki biçim kullanılır (PERMISSION_NAME öğesinin bir Android izni adı olduğu yerlerde):
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<uses-permission android:name="android.permission.PERMISSION_NAME" />
</manifest>
]]>
</manifestAdditions>
</android>
manifest
öğesinin içindeki uses-permissions ifadeleri doğrudan Android bildirim belgesine eklenir.
Çeşitli AIR özelliklerini kullanmak için aşağıdaki izinler gerekir:
-
ACCESS_COARSE_LOCATION
-
Geolocation sınıfı aracılığıyla uygulamanın WIFI ve hücresel ağ konumu verilerine erişmesine izin verir.
-
ACCESS_FINE_LOCATION
-
Uygulamanın Geolocation sınıfı aracılığıyla GPS verilerine erişmesine izin verir.
-
ACCESS_NETWORK_STATE ve ACCESS_WIFI_STATE
-
Uygulamanın NetworkInfo sınıfının ağ bilgilerine erişmesine izin verir.
-
CAMERA
-
Uygulamanın kameraya erişmesine izin verir.
Not:
Kamera özelliğini kullanmak için izin istediğinizde, Android uygulamanızın da kamera gerektirdiğini varsayar. Kamera uygulamanızın isteğe bağlı bir özelliğiyse, kamera bildirimine gerekli niteliği
false
olarak ayarlayarak bir
uses-feature
özelliği eklemeniz gerekir. Bkz.
Android uyumluluk filtresi
.
-
INTERNET
-
Uygulamanın ağ isteği yapmasına izin verir. Ayrıca uzaktan hata ayıklamaya izin verir.
-
READ_PHONE_STATE
-
AIR çalışma zamanının telefon çağrıları sırasında sesi kapatmasına izin verir. Uygulamanız arka planda ses oynatıyorsa bu izni ayarlamanız gerekir.
-
RECORD_AUDIO
-
Uygulamanın mikrofona erişmesine izin verir.
-
WAKE_LOCK ve DISABLE_KEYGUARD
-
Uygulamanın SystemIdleMode sınıfı ayarlarını kullanarak aygıtın uyku moduna girmesini engellemesine izin verir.
-
WRITE_EXTERNAL_STORAGE
-
Uygulamanın aygıttaki harici bellek kartına yazmasına izin verir.
Örneğin, şaşırtıcı bir şekilde tüm izinleri gerektiren bir uygulamanın izinlerini ayarlamak için aşağıdakini uygulama tanımlayıcıya ekleyebilirsiniz:
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
]]>
</manifestAdditions>
</android>