2012-05-25 24 views
8

Có cách nào để biết liệu có cần có quyền Android nào đó theo yêu cầu của API Android không? Ví dụ: API nào sẽ yêu cầu quyền GET_TASKS hoặc REBOOT? Ứng dụng của tôi, được kế thừa từ một người đã mất nhiều thời gian, có các quyền này được liệt kê trong tệp kê khai. Tôi không nghĩ rằng chúng tôi đang sử dụng chúng, nhưng tôi cũng sợ rằng nếu tôi loại bỏ chúng, sẽ có hậu quả xấu. Bất kỳ ý tưởng về cách đối phó với điều này?Danh sách các API Android yêu cầu quyền Android nhất định

+0

Nếu dự án không lớn. Bạn có thể tự mình kiểm tra. Tôi nghĩ vậy ... Một câu trả lời hay có thể không tồn tại. –

+0

'sợ' không thuộc về đây. Bạn có lẽ nên cố gắng đạt được một phạm vi kiểm tra tốt (tốt nhất là thử nghiệm tự động) để sau đó bạn loại bỏ hoặc làm bất cứ điều gì bạn muốn và nếu tất cả các bài kiểm tra vẫn vượt qua thì nó ok. –

+1

Xem chủ đề này. [https://stackoverflow.com/questions/20740632/mapping-between-android-permissions-that-we-define-in-the-manisfest-file-to-c/24019120#24019120][1] [1]: https://stackoverflow.com/questions/20740632/mapping-between-android-permissions-that-we-define-in-the-manisfest-file-to-c/24019120# 24019120 –

Trả lời

5

Cả hai quyền này đều khá chuyên biệt và chỉ có một số sử dụng.

android.permission.REBOOT

Trước hết, sự cho phép này có một mức độ bảo vệ signatureOrSystem, vì vậy trừ khi ứng dụng của bạn là một phần của một ROM tùy chỉnh hoặc bạn có quyền truy cập vào các phím ký cho nền tảng này bạn đang cài đặt nó trên, việc áp dụng thậm chí sẽ không được cấp phép.]

nó là cần thiết để gọi PowerManager.reboot()

android.permission.GET_TASKS

Quyền này chỉ được đánh dấu dangerous, vì vậy ứng dụng của bạn thực sự có thể có được quyền này.

Có hai cuộc gọi trong số ActivityManager yêu cầu sự cho phép này, getRecentTasks()getRunningTasks() để nhận thông tin về các tác vụ ứng dụng hiện tại trong hệ thống. Nó thường được sử dụng bởi các ứng dụng Launcher tùy chỉnh để điền danh sách nhiệm vụ.

HTH

+0

Cảm ơn. Có tài liệu chính thức nào xuất bản thông tin đó hay kiến ​​thức nội bộ này không? –

+0

Nếu một API cụ thể yêu cầu quyền nhất định, API sẽ nói như vậy trong tài liệu SDK, vì vậy, chỉ cần chạy tìm kiếm trên tài liệu SDK cho tên quyền. Mức độ bảo mật mà bạn có thể tìm thấy trong tệp AndroidManifest.xml của các nguồn khung. – Devunwired

0

Đưa ra từng phần rồi chạy. Nếu nó tiếp tục hoạt động, hãy giữ nguyên nội dung bị xóa và di chuyển xuống danh sách quyền.

2

PScout là công cụ phân tích Android cho phép các phương thức yêu cầu các quyền đó.

Trang web PScout gốc không hoạt động nữa nhưng tôi đã trích xuất ánh xạ từ bản gốc PScout và đẩy nó vào Github. Bạn có thể dễ dàng kiểm tra và phân tích cú pháp nếu cần.

Tại đây bạn có thể tìm thấy tất cả các phương pháp mà PScout tìm thấy yêu cầu quyền Android.

PScout results- map of Android permissions and methods that require those permissions

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