2013-08-01 43 views
6

Vì vậy, với sự xuất hiện của Android 4.3 có khả năng chọn lọc disable particular permissions for apps.Tôi có thể phát hiện thấy một quyền cụ thể đã bị xóa cho ứng dụng Android của tôi không?

Điều này rõ ràng có thể gây ra sự cố khi ứng dụng mất quyền mà ứng dụng cần hoạt động chính xác.

Hệ thống có phát thông báo khi quyền bị thu hồi hoặc làm cách nào để tôi biết rằng ứng dụng của tôi không còn có quyền nhất định nữa? Lý tưởng nhất là tôi muốn thông báo cho người dùng rằng tắt quyền A sẽ phá vỡ xyz trong ứng dụng.

+1

Nó đã được ẩn vì lý do này, cho đến khi họ đưa ra một cơ chế cho các nhà phát triển để điều chỉnh cho nó. –

Trả lời

2

Không có phát sóng, nhưng bạn có thể tự kiểm tra quyền khi khởi động (hoặc tiếp tục, v.v.). Context#checkCallingOrSelfPermission() được cung cấp cho việc này.

Nếu bạn muốn kiểm tra tất cả các quyền của bạn, bạn có thể làm một cái gì đó như thế này:

public static boolean[] getPermissionsGranted(Context context, String[] permissions){ 
    boolean[] permissionsGranted = new boolean[permissions.length]; 
    for(int i=0;i<permissions.length;i++){ 
     int check = context.checkCallingOrSelfPermission(permissions[i]); 
     permissionsGranted[i] = (check == PackageManager.PERMISSION_GRANTED); 
    } 
    return permissionsGranted; 
} 

Trường hợp Strings đầu vào là những cái tên Quyền, chẳng hạn như "android.permission.INTERNET".

Các vấn đề liên quan