Tôi đang sử dụng phản ánh freeStorageAndNotify:Android M phương pháp phản ánh phương pháp freeStorageAndNotify ngoại lệ
Method freeStorageAndNotify = null;
freeStorageAndNotify = service.packageManager.getClass().getMethod(
"freeStorageAndNotify", long.class, IPackageDataObserver.class);
freeStorageAndNotify.invoke(PackageManager.class, maxCache + freeSpace, packageDataObserver);
Điều này gây InvocationTargetException:
java.lang.SecurityException: Neither user 10199 nor current process has android.permission.CLEAR_APP_CACHE.
Một số điểm: - Tôi đã có android.permission.CLEAR_APP_CACHE - Điều này chỉ xảy ra trong phiên bản Android "M" (Flashed xem trước sdk từ trang web của nhà phát triển)
I biết đây là một hack, và google không mang lại một số API chính thức cho rằng, Nhưng có rất nhiều ứng dụng dọn dẹp làm sạch tất cả bộ nhớ cache của thiết bị chỉ với một cú nhấp chuột, vì vậy nếu ai đó biết cách bỏ qua vấn đề này với một cách giải quyết khác ' sẽ rất vui khi thấy điều đó.
Cảm ơn rất nhiều vì sự giúp đỡ
"Tôi đã có android.permission.CLEAR_APP_CACHE - Điều này chỉ xảy ra trong phiên bản" M "Android (Flash sdk xem trước từ trang web của nhà phát triển)" - có thể họ đã thay đổi 'protectionLevel' của quyền này thành' signature' hoặc 'system'. Điều đó sẽ giải thích các triệu chứng. – CommonsWare
Đó là một sự xấu hổ :) chúng tôi cũng chỉ cần bỏ qua điều đó. Bất kỳ đề xuất bắt đầu từ đâu? cảm ơn –
Tôi đã kiểm tra các quyền trong 'framework-res.apk' cho Bản xem trước thứ 3 M và mức bảo vệ thực sự là 'chữ ký | hệ thống' cho cả hai' CLEAR_APP_CACHE' và 'DELETE_CACHE_FILES' –