2010-06-28 15 views
5

Soy nuevo en Android y tengo una pregunta sobre el nivel de protección "Firma" para los permisos en AndroidManifest.xml.En relación con los permisos de Android y el nivel de protección de firmas

el Android documento de referencia sobre el nivel de protección estados "Firma":

un permiso que solamente las ayudas del sistema si la aplicación solicitante está firmado con el mismo certificado que la aplicación que declaró el permiso. Si los certificados coinciden, el sistema automáticamente otorga el permiso sin notificar al usuario o solicitar la aprobación explícita del usuario .

Esto implica que los permisos que tienen nivel de protección "Firma" no están disponibles para su uso por la aplicación normal y solo se pueden usar con Android Dev Team.

Lo que me pregunto es ¿cuántas aplicaciones en Android Market u otros sitios pueden tener estos permisos? Al igual que una aplicación que se utiliza para grabar llamadas, tiene android.permission.DEVICE_POWER además de otros permisos. ¿El sistema Android realmente otorga este permiso a esta aplicación durante la instalación?

Cuando traté de usar el permiso "READ_INPUT_STATE" (nuevo en 2.2) Tengo el siguiente error en LogCat:

06-28 09: 28: 34.943: WARN/PackageManager (60): No conceder el permiso android.permission.READ_INPUT_STATE al paquete com.example.wheredoyoulive (protectionLevel = 2 flags = 0x8444)

Lo mismo se aplica a los permisos con Protection Level "SignatureOrSystem". Existe una aplicación de llamada que tiene el permiso CALL_PRIVILEGED además de otros permisos.

Ayúdame y aclara mis dudas.

Saludos

Abhishek

Respuesta

4

creo que el propósito del nivel de permiso "firma" es para dos aplicaciones por el mismo desarrollador para poder compartir datos sin problemas y sin molestar al usuario. El permiso READ_INPUT_STATE no está destinado a ser utilizado en aplicaciones:

Permite que una aplicación recupere el estado actual de las teclas y sus modificadores. Esto es solo para uso del sistema.

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

+0

Gracias por la respuesta. En el caso de que lo haya mencionado, el desarrollador debe crear un nuevo Permiso personalizado para utilizar completamente las funciones proporcionadas por el nivel de protección de mi aplicación. Di el permiso "READ_INPUT_STATE" a mi aplicación de muestra solo para verificar lo que sucederá si otorgo el permiso de nivel de Firma. – tandon16

+0

Ok, ¿tu pregunta se resuelve entonces? – Computerish

+0

Tengo algunas dudas con respecto al nivel de protección "Firma". Siguiendo con la discusión anterior, ¿podemos concluir que a ninguna aplicación de terceros se le otorgarán permisos con nivel de protección "Firma" o "SignatureOrSystem"? Mi pregunta original fue: "Lo que me pregunto es ¿cuántas aplicaciones en Android Market u otros sitios pueden tener estos permisos? Al igual que una aplicación que se utiliza para grabar llamadas tiene android.permission.DEVICE_POWER además de otra Permisos. ¿El sistema Android realmente otorga este permiso a esta aplicación durante la instalación? – tandon16

0

Facebook Usos en esto,

Una vez instalado se dará cuenta de que no solicita ningún permiso, pero requiere explícitamente que se instalará la aplicación de Facebook, este es para que el sistema pueda otorgarle los permisos necesarios por proxy de la aplicación de Facebook.

Normalmente, lo que sucede es que la aplicación Facebook anuncia instalaciones para que otras aplicaciones lean tu estado y noticias, normalmente estas aplicaciones deberían solicitar explícitamente permiso para usarlas si están firmadas con un certificado diferente o más bien clave privada.

Cuestiones relacionadas