是否有可能在1.0和2.0之間的設備上執行了某些操作,例如打開防火牆?
據我所知,在構建,下載或安裝時間來設置或查詢應用程序的權限方面,您無能爲力。您需要等到它實際運行後再進行任何控制才能查詢或請求更改應用程序權限。
你可能想嘗試把下面的代碼片段在應用程序的初始化,採取在偷看什麼的設置實際上是設置爲:
ApplicationPermissionsManager apm = ApplicationPermissionsManager.getInstance();
ApplicationPermissions permissions = apm.getApplicationPermissions();
int[] keys = permissions.getPermissionKeys();
for (int i = 0; i < keys.length; i++) {
int key = keys[i];
System.out.println("APM: " + key + " = " +
permissionToString(permissions.getPermission(key)));
}
和:
public String permissionToString(int value) {
switch(value) {
case ApplicationPermissions.VALUE_ALLOW:
return "ALLOW";
case ApplicationPermissions.VALUE_PROMPT:
return "PROMPT";
case ApplicationPermissions.VALUE_DENY:
return "DENY";
case -1:
return "NOT_SET";
default:
return Integer.toString(value);
}
}
JDE示例目錄中的「applicationpermissionsdemo」程序有一個查詢應用程序權限並請求從應用程序本身更改應用程序權限的好例子。