軟體安全性並非安全性軟體。我們關注驗證、Access Control、保密性、加密以及權限管理之類的主題。
<uses-permission .../>
元素宣告使用 ACTIVITY_RECOGNITION
權限,這讓應用程式能辨識使用者的體能活動。<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
<uses-permission .../>
元素宣告使用 READ_CALENDAR
權限,這讓應用程式能讀取使用者的行事曆資料。<uses-permission android:name="android.permission.READ_CALENDAR"/>範例 2:AndroidManifest.xml 的
<uses-permission .../>
元素宣告使用 WRITE_CALENDAR
權限,這讓應用程式能寫入使用者的行事曆資料。<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
<uses-permission .../>
元素宣告使用 READ_CALL_LOG
權限,這讓應用程式能讀取使用者的通話記錄。<uses-permission android:name="android.permission.READ_CALL_LOG"/>範例 2:AndroidManifest.xml 的
<uses-permission .../>
元素宣告使用 WRITE_CALL_LOG
權限,這讓應用程式能寫入使用者的通話記錄。<uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
<uses-permission .../>
元素宣告使用 CAMERA
權限,這讓應用程式能存取裝置的相機。<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission .../>
元素宣告使用 READ_CONTACTS
權限,這讓應用程式能讀取使用者的聯絡人資料。<uses-permission android:name="android.permission.READ_CONTACTS"/>範例 2:AndroidManifest.xml 的
<uses-permission .../>
元素宣告使用 WRITE_CONTACTS
權限,這讓應用程式能寫入使用者的聯絡人資料。<uses-permission android:name="android.permission.WRITE_CONTACTS"/>範例 3:AndroidManifest.xml 的
<uses-permission .../>
元素宣告使用 GET_ACCOUNTS
權限,這讓應用程式能存取使用者的電子郵件以及儲存在「帳戶管理員」中的線上帳戶。使用此權限可以存取敏感資料,例如帳戶 ID、電子郵件地址和電話號碼。<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission .../>
元素宣告使用 WRITE_EXTERNAL_STORAGE
權限,這讓應用程式能寫入外部儲存裝置。<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>範例 2:AndroidManifest.xml 的
<uses-permission .../>
元素宣告使用 READ_EXTERNAL_STORAGE
權限,這讓應用程式能讀取外部儲存裝置。<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.BRICK"/>
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, locationListener);
sms.sendTextMessage(recipient, null, message, PendingIntent.getBroadcast(SmsMessaging.this, 0, new Intent(ACTION_SMS_SENT), 0), null);
<uses-permission .../>
元素宣告使用 RECORD_AUDIO
權限,這讓應用程式能使用裝置的麥克風進行錄音。<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission .../>
元素宣告使用 BLUETOOTH_ADVERTISE
權限,這讓應用程式能向鄰近的藍牙裝置進行通告。<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE"/>
<uses-permission .../>
元素宣告使用 POST_NOTIFICATIONS
權限,這讓應用程式能傳送通知給裝置使用者。<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission .../>
元素宣告 READ_MEDIA_AUDIO
權限,這讓應用程式能讀取裝置上的音樂和音訊檔案。<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>
<uses-permission .../>
元素宣告使用 READ_MEDIA_VIDEO
權限,這讓應用程式能讀取裝置上的影片檔案。<uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/>
<uses-permission .../>
元素宣告使用 BODY_SENSORS
權限,這讓應用程式能存取裝置或已連接穿戴式裝置上連線人體或環境感應器中的資料。<uses-permission android:name="android.permission.BODY_SENSORS"/>
number = tm.getCompleteVoiceMailNumber();
FLAG_GRANT_READ_URI_PERMISSION
和 FLAG_GRANT_WRITE_URI_PERMISSION
。如果惡意程式能夠攔截此用意,將取得從指定 URI 讀取或寫入指定 URI 的權限。如果用意是隱含的而不是明確的,則會更容易遭到攔截。
myIntent.setFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
AUTHID
子句的高階函數或程序則預設為 AUTHID DEFINER
。AUTHID DEFINER
或 AUTHID CURRENT_USER
。在具有定義程式碼的使用者權限時,執行擁有定義碼權限的函數與程序。這樣就可允許更新和存取資料的特定部份,而不需要授予整個表格或結構的存取權限。有了啟動程式的權限或 AUTHID CURRENT_USER
,擁有權限的使用者即可呼叫函數與程序。這樣就不允許使用者存取使用者沒有存取權限的資料。如果未提供 AUTHID
子句,函數或程序就會預設為定義碼的權限。 SYS
或另一個擁有更高權限的使用者所定義,因此可能導致程式碼攻擊更加危險。