2010-06-28 13 views
5

Tôi mới sử dụng Android và có câu hỏi về mức độ bảo vệ "Chữ ký" cho các quyền trong AndroidManifest.xml.Về quyền của Android và Cấp độ bảo vệ chữ ký

Các trạng thái tài liệu tham khảo Android về mức độ "Chữ ký" bảo vệ:

Một phép rằng tài trợ hệ thống chỉ khi ứng dụng yêu cầu được ký với chứng tương tự như ứng dụng mà tuyên bố sự cho phép. Nếu chứng chỉ phù hợp, hệ thống tự động cấp quyền mà không cần thông báo cho người dùng hoặc yêu cầu phê duyệt rõ ràng của người dùng .

Điều này ngụ ý rằng các quyền có cấp độ bảo vệ "Chữ ký" không có sẵn để sử dụng bởi ứng dụng thông thường và chỉ có thể sử dụng Nhóm phát triển Android.

Điều tôi thắc mắc là có bao nhiêu ứng dụng trong Android Market hoặc trên các trang web khác có thể có các quyền này? Giống như một ứng dụng được sử dụng để ghi âm cuộc gọi có android.permission.DEVICE_POWER ngoài các quyền khác. Hệ thống Android có thực sự cấp quyền này cho ứng dụng này trong khi cài đặt không?

Khi tôi cố gắng sử dụng phép "READ_INPUT_STATE" (mới trong 2.2) Tôi đã nhận lỗi sau đây trong LogCat:

06-ngày 28 tháng 9: 28: 34,943: WARN/PackageManager (60): Không cấp phép android.permission.READ_INPUT_STATE để đóng gói com.example.wheredoyoulive (protectionLevel = 2 flags = 0x8444)

Điều tương tự cũng đúng với quyền với Cấp độ bảo vệ "SignatureOrSystem". Có một ứng dụng người gọi có quyền CALL_PRIVILEGED ngoài các quyền khác.

Hãy giúp tôi và làm rõ những nghi ngờ của tôi.

Trân

Abhishek

Trả lời

4

tôi tin rằng mục đích của "Chữ ký" mức cho phép là dành cho hai ứng dụng bởi nhà phát triển cùng để có thể chia sẻ dữ liệu liên tục mà không làm phiền người dùng. Quyền READ_INPUT_STATE không nhằm mục đích được sử dụng trong các ứng dụng:

Cho phép ứng dụng truy xuất trạng thái hiện tại của các khóa và công tắc. Điều này chỉ được sử dụng bởi hệ thống.

Xem http://developer.android.com/reference/android/Manifest.permission.html#READ_INPUT_STATE

+0

Cảm ơn bạn đã trả lời. Trong trường hợp bạn đã đề cập nhà phát triển phải tạo Giấy phép tùy chỉnh mới để sử dụng đầy đủ các cơ sở do cấp bảo vệ cung cấp cho đơn đăng ký của tôi. Tôi đã cấp quyền "READ_INPUT_STATE" cho ứng dụng mẫu của mình chỉ để kiểm tra xem điều gì sẽ xảy ra nếu tôi cấp quyền cho Chữ ký. – tandon16

+0

Ok, Câu hỏi của bạn có được giải quyết không? – Computerish

+0

Tôi có một số nghi ngờ về mức độ bảo vệ "Chữ ký". Bằng cách thực hiện thảo luận ở trên, chúng ta có thể kết luận rằng không ứng dụng của bên thứ ba nào được cấp quyền với cấp độ bảo vệ "Signature" hoặc "SignatureOrSystem" không? Câu hỏi ban đầu của tôi là: "Điều tôi thắc mắc là có bao nhiêu ứng dụng trong Android Market hoặc trên các trang web khác có thể có các quyền này? Giống như ứng dụng được sử dụng để ghi âm cuộc gọi có android.permission.DEVICE_POWER ngoài Có phải hệ thống Android thực sự cấp quyền này cho ứng dụng này trong khi cài đặt không? " – tandon16

0

Facebook gia đình sử dụng này,

khi bạn cài đặt nó, bạn sẽ nhận thấy rằng nó không yêu cầu bất kỳ điều khoản, nhưng rõ ràng đòi hỏi ứng dụng facebook được cài đặt, điều này là để hệ thống có thể cấp cho nó các quyền cần thiết bằng proxy của ứng dụng Facebook.

Thông thường những gì xảy ra là ứng dụng Facebook với các tiện ích quảng cáo cho các ứng dụng khác đọc trạng thái và tin tức của bạn, thông thường các ứng dụng này cần phải yêu cầu quyền sử dụng chúng một cách rõ ràng nếu chúng được ký dưới một chứng chỉ khác hoặc khóa riêng tư.

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