2010-12-13 19 views
5

¿Es posible crear sus propios permisos usando la etiqueta <uses-permission>?Creando sus propios permisos

gusta esta

<uses-permission android:name="com.android.myapp.INSTALL_LICENSE"></uses-permission> 

Dónde com.android.myapp es el nombre de mi paquete y INSTALL_LICENSE es el permiso que los usuarios deben aceptar

Además me gustaría Budle una gran cantidad de permisos existentes en éste permiso para que el cliente solo tenga que declarar un solo permiso y obtendría INTERNET, PHONE_STATE y otros permisos.

+0

Podría explicar a qué se refiere? Los permisos generalmente se usan para restringir cómo las aplicaciones pueden interactuar con el hardware del teléfono. – Computerish

+0

@Computerish He actualizado la pregunta – jax

Respuesta

2

No estoy seguro de lo que quiere decir con "usar la etiqueta", pero puede crear un nuevo permiso para especificar cómo otras aplicaciones pueden interactuar con actividades y servicios proporcionados por el suyo.

Véase "Declaración y hacer cumplir los permisos" en:

http://developer.android.com/guide/topics/security/security.html

+0

He actualizado la pregunta – jax

+0

Ok, lea el enlace al sitio del desarrollador y debe estar todo listo. –

5

"Además me gustaría Budle una gran cantidad de permisos existentes en éste permiso".

Um, no. Eso sería introducir deliberadamente un agujero de seguridad, lo que permite a otras aplicaciones eludir los permisos reales. Espero que esto resulte en la extracción de la aplicación de Market, si se encuentra.

Si una aplicación obtiene acceso a INTERNET, PHONE_STATE, o lo que sea, deben declarar el permiso real que están utilizando y que está directamente asociado con esa funcionalidad.

Qué es bien es tener su propio permiso para restringir el acceso de aplicación a su funcionalidad, y en el interior de su propio .apk que implementar esa funcionalidad utilizando otros permisos ... pero no hacer exponga directamente a la que se aplicación

En otras palabras, esto está bien: declare un permiso para DO_SOMETHING, que permita a una aplicación decir enviar una transmisión que lo hará hacer algo y devolver un resultado "verdadero" o "falso" indicando si tuvo éxito .

Esto no está bien: declare un permiso para DO_SOMETHING, que expone una API que permite a una aplicación recuperar el estado del teléfono, o enviar algunos datos que proporcionan fuera del dispositivo, o recuperar información del GPS.

Para declarar un permiso en su aplicación, utilice la etiqueta como se describe en los documentos.

Sin embargo algo que realmente necesita para tener en cuenta: Actualmente si una aplicación está instalada antes de su aplicación y solicita su permiso, se no se concederá ese permiso. (Debido a que el permiso no se conocía en el momento en que se instaló). Para que se le otorgue el permiso, debe volver a instalarse o actualizarse después de instalar la aplicación.

+0

+1 para señalar el desagradable agujero de seguridad de agrupar varios permisos existentes en uno (¡parece una aplicación maliciosa para mí)! – Nailuj

+0

@hackbod: ¿qué ocurre si ambos permisos de declaración y uso de permisos están preinstalados como aplicaciones del sistema en el firmware? ¿la aplicación que usa podría acceder al permiso? –

5

Sí, puede declarar su propio permiso y si otra aplicación desea utilizar su aplicación, a su vez debe declarar su permiso.

Por ejemplo se declara en su manifiesta lo siguiente:

<permission 
    android:name="com.examples.permissionexample.MY_APP" 
    android:description="@string/boom_perm_string" 
    android:label="@string/boom_permission_label_string"> 
</permission> 

Luego, en otra aplicación, el permiso para acceder a su aplicación sería habrá:

<uses-permission android:name="com.examples.permissionexample.MY_APP" /> 
+0

¿Me puede dar un ejemplo? ¿Para qué otra aplicación puede usar nuestra aplicación? ¿o como? ¿o qué actividad será llamada por otra aplicación? – UnKnown

Cuestiones relacionadas