5

Tôi làm việc trên một dự án hiện đang yêu cầu quyền đối với 21 (!).Android - Làm cách nào để biết tất cả các phương thức yêu cầu sự cho phép nhất định?

Tôi muốn làm sạch điều đó vì tôi tin rằng rất nhiều trong số đó là không cần thiết (ví dụ, có sự cho phép đối với android.permission.CALL_PHONE có thể được loại bỏ tương tự như vậy với Intent với ACTION_DIAL).

Điều tôi muốn biết là cách, được cấp quyền (giả sử, android.permission.AUTHENTICATE_ACCOUNTS) tìm tất cả các phương pháp yêu cầu quyền đó. Lưu ý rằng đối diện là dễ dàng, tức là, đưa ra một phương pháp, nó rất dễ dàng để tìm thấy nếu phương pháp đó đòi hỏi bất kỳ sự cho phép (chỉ cần đi đến tài liệu và kiểm tra), nhưng những gì về cách khác xung quanh ?.

+0

tôi sắp sửa nói rằng :) chỉ cần đi kiểm tra, sau khi tất cả nếu bạn đang thực hiện một chức năng và không biết nếu có điều khoản sau đó hmm .. chỉ nói thưa ngài. tôi không nghĩ rằng có trừ khi bạn sẵn sàng sử dụng Reflection để kiểm tra các trường hợp ngoại lệ mà họ có thể ném trong trường hợp một sự cho phép không được thiết lập và chơi với nó. – Elltz

+0

Không chính xác Câu trả lời cho câu hỏi của bạn, nhưng có thể là một Phương pháp tiếp cận thay thế có thể tìm thấy tại đây: http://stackoverflow.com/questions/8257412/remove-extra-unwanted-permissions-from-manifest-android/8257473#8257473 – AADProgramming

+0

có thể trùng lặp với [Lập bản đồ giữa các quyền của Android (mà chúng tôi xác định trong tệp manisfest) cho các cuộc gọi API tương ứng /methods] (http://stackoverflow.com/questions/20740632/mapping-between-android-permissions-that-we-define -in-the-manisfest-file-to-c) –

Trả lời

0

Sau khi nghiên cứu này một lần nữa, tôi tình cờ gặp một câu hỏi tương tự trên SO. Ben Holland giải thích có 2 nghiên cứu được thực hiện về vấn đề này. Không có giải pháp nào được đề xuất là 100% hoàn hảo, nhưng nó là tốt nhất chúng tôi có cho đến nay.

Xem thêm chi tiết tại địa chỉ: https://stackoverflow.com/a/24019120/1369016

0

Không cách nào khác trình biên dịch cảnh báo bạn nếu bạn chưa đặt Quyền. Không, thay vào đó ứng dụng chỉ gặp sự cố khi chạy.

Im xin lỗi nhưng bạn phải đi theo con đường dài và tìm kiếm các phương pháp mà bạn nghĩ rằng có thể cần sự cho phép và delet họ

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