Skip to content

Most visited

Recently visited

navigation

Cómo declarar permisos

En esta lección, aprenderás a realizar lo siguiente:

También debes leer:

Cada app de Android se ejecuta en una zona de pruebas con acceso limitado. Si una app necesita usar recursos o información externos a su propia zona de pruebas, debe solicitar el permiso correspondiente. Para declarar que tu app necesita un permiso, debes mencionarlo en el manifiesto de la app.

Según el grado de confidencialidad del permiso, el sistema podría otorgar el permiso automáticamente o el usuario del dispositivo podría tener que conceder la solicitud. Por ejemplo, si tu app solicita permiso para activar la linterna del dispositivo, el sistema otorga ese permiso automáticamente. Sin embargo, si tu app necesita leer los contactos del usuario, el sistema le solicita aprobar dicho permiso. Según la versión de la plataforma, el usuario otorga el permiso cuando se instala la app (en Android 5.1 y versiones anteriores) o mientras esta se ejecuta (en Android 6.0 y versiones posteriores).

Determina los permisos que necesita tu app

Mientras desarrollas tu app, debes tener en cuenta los casos en que esta use capacidades que requieran un permiso. Normalmente, una app necesitará permisos siempre que use información o recursos que no cree, o cuando realice acciones que afecten el comportamiento del dispositivo o de demás apps. Por ejemplo, si una app necesita acceder a Internet, usar la cámara del dispositivo o activar o desactivar la conexión Wi-Fi, necesitará los permisos correspondientes. Para hallar una lista con permisos del sistema, consulta Permisos normales y riesgosos.

Tu app solo necesita permisos para acciones que realiza directamente. No necesita permisos si solicita a otra app que realice la tarea o proporcione la información. Por ejemplo, si debe leer la lista de direcciones del usuario, necesitará el permiso READ_CONTACTS. Pero si usa un intent para solicitar información de la app de Contactos del usuario, no necesitará permisos, aunque los necesitará la app de Contactos. Para obtener más información, consulta Considera usar un Intent.

Agregar permisos al manifiesto

Para declarar que tu app necesita un permiso, dispón un elemento <uses-permission> en el manifiesto de tu app como elemento secundario del elemento de nivel superior <manifest>. Por ejemplo, en el manifiesto de una app que necesite enviar mensajes SMS debería incluirse esta línea:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.snazzyapp">

    <uses-permission android:name="android.permission.SEND_SMS"/>
    

    <application ...>
        ...
    </application>

</manifest>

El comportamiento del sistema después de declarar un permiso depende del grado de confidencialidad de este último. Si el afecto no afecta la privacidad del usuario, el sistema otorga el permiso automáticamente. Si el permiso puede otorgar acceso a información confidencial del usuario, el sistema solicita al usuario que apruebe la solicitud. Para obtener más información sobre los diferentes tipos de permisos, consulta Permisos normales y riesgosos.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)