English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Este artigo exemplifica a operação de permissões do Android usando 'uses'-permission'. Compartilho com vocês para referência, conforme detalhado a seguir:
Quando instalamos um software Android, o sistema informa as permissões necessárias para o software, em comparação com outros sistemas, as permissões do Android são muito mais. Quando desenvolvemos software, também precisamos declarar as permissões correspondentes, por exemplo, se queremos que o software possa enviar mensagens de texto, precisamos declarar a permissão para o software chamar a mensagem de texto, caso contrário, o software apresentará um erro ao executar.
As permissões do Android são configuradas no arquivo 'AndroidManifest.xml'. O arquivo 'AndroidManifest' possui quatro etiquetas relacionadas a 'permission', que são '<permission>', '<permission'-group>' e '<permission'-tree>' e '<uses-permission>' no nosso arquivo 'manifest'. A mais comum é '<uses-permission>', quando precisamos obter uma permissão específica, devemos declarar '<uses-permission>.
<?xml version="1.0" encoding="utf-8"?> <manifest> <application> </application> <uses-permissão /> <permission /> <permission-tree /> <permission-group /> ... </manifest>
<permission> e <uses-A função de '<permission>' é semelhante, mas a diferença entre as duas é '<uses'-A função de '<permission>' é pré-definida no Android, enquanto '<permission>' é definida por nós mesmos. '<permission>' é usado relativamente menos, '<permission'-group> <permission-Essas duas etiquetas são menos comuns, para simplificar '<permission'-A etiqueta 'group' declara um rótulo que representa um grupo de 'permissions', enquanto '<permission'-A declaração de 'permissions' define um namespace. As três etiquetas subsequentes serão explicadas em artigos futuros.
<permissão> é definido da seguinte forma:}
<permissão android:description="string resource" android:icon="drawable resource" android:label="string resource" android:name="string" android:permissionGroup="string" android:protectionLevel=["normal" | "dangerous" | "signature" | "signatureOrSystem"] />
O código acima é do documento oficial: http://developer.android.com/guia/tópicos/manifest/permissão-element.html. A propriedade propectionLevel é obrigatória, informa ao sistema que o aplicativo requer permissão do usuário ou quem acredita que obteve a permissão. permissionGroup é opcional e está relacionado a <permission-group> é usado conjuntamente. label, name e icon são usados para descrever as permissões. A utilização de <permission> também será analisada em detalhes posteriormente.
<uses-permissão> é a que usamos mais, a definição oficial é conforme a seguir:
<uses-permissão android:name="string" />
Por exemplo, a definição de permissões de SMS e telefone:
<uses-permissão android:name="android.permission.CALL_PHONE" /> <uses-permissão android:name="android.permission.SEND_SMS"/>
A seguir estão as permissões coletadas <uses-informações sobre a permissão, facilitando a busca quando necessário:
android.permission.ACCESS_CHECKIN_PROPERTIES
permite acesso de leitura e escrita à tabela "properties" no banco de dados checkin, os valores podem ser alterados (Permite leitura/acesso de escrita à tabela "properties" no banco de dados checkin, para alterar valores que são carregados)
android.permission.ACCESS_COARSE_LOCATION
Permite que um aplicativo acesse CellID ou ponto de acesso Wi-Fi para obter uma localização aproximada (Permite que um aplicativo acesse CellID ou ponto de acesso Wi-Fi para obter uma localização aproximada)-ID, WiFi)
android.permission.ACCESS_FINE_LOCATION
Permite que um aplicativo acesse localização precisa (como GPS) (Permite que um aplicativo acesse localização precisa (como GPS))
android.permission.ACCESS_LOCATION_EXTRA_COMMANDS
Permite que um aplicativo acesse comandos adicionais de provedor de localização (Permite que um aplicativo acesse comandos adicionais de provedor de localização)
android.permission.ACCESS_MOCK_LOCATION
Permite que um aplicativo crie provedores de localização simulada para teste (Permite que um aplicativo crie provedores de localização simulada para teste)
android.permission.ACCESS_NETWORK_STATE
Permite que aplicativos acessem informações sobre redes (Permite que aplicativos acessem informações sobre redes)
android.permission.ACCESS_SURFACE_FLINGER
Permite que um aplicativo utilize características de baixo nível do SurfaceFlinger (Permite que um aplicativo utilize características de baixo nível do SurfaceFlinger)
android.permission.ACCESS_WIFI_STATE
Permite que um aplicativo acesse Wi-Fi-Informações de estado da rede Wi-Fi (Permite que aplicativos acessem informações sobre Wi-Fi)-Redes Fi)
android.permission.ADD_SYSTEM_SERVICE
Permite que um aplicativo publique serviços de nível de sistema (Permite que um aplicativo publique serviços de nível de sistema)-services).)
android.permission.BATTERY_STATS
Permite que um aplicativo atualize as estatísticas de bateria do telefone (Permite que um aplicativo atualize as estatísticas de bateria do telefone)
android.permission.BLUETOOTH
Permite que os aplicativos se conectem a dispositivos Bluetooth emparelhados (Permite que os aplicativos se conectem a dispositivos Bluetooth emparelhados)
android.permission.BLUETOOTH_ADMIN
Permite que os aplicativos descubram e parem dispositivos Bluetooth (Permite que os aplicativos descubram e parem dispositivos Bluetooth)
android.permission.BRICK
é necessário desativar o dispositivo (muito *rouso!).)
android.permission.BROADCAST_PACKAGE_REMOVED
Permite a um aplicativo transmitir uma notificação de que um aplicativo (Permite a um aplicativo transmitir uma notificação de que um aplicativo
package has been removed)
android.permission.BROADCAST_STICKY
Permite a um aplicativo transmitir intents comuns (Permite a um aplicativo transmitir intents comuns)
android.permission.CALL_PHONE
Permite a um aplicativo inicializar uma chamada telefônica sem passar pelo interface de usuário do discador e exigir a confirmação do usuário (Permite a um aplicativo inicializar uma chamada telefônica sem passar pelo interface de usuário do discador e exigir a confirmação do usuário.)
android.permission.CALL_PRIVILEGED
Permite que um aplicativo ligar para qualquer número de telefone, incluindo números de emergência, sem passar pelo interface de usuário do discador e sem a confirmação do usuário.
android.permission.CAMERA
É necessário para poder acessar o dispositivo de câmera.
android.permission.CHANGE_COMPONENT_ENABLED_STATE
Permite que um aplicativo altere se um componente ou outro deve ser ativado ou desativado.
android.permission.CHANGE_CONFIGURATION
Permite que um aplicativo modifique a configuração atual, como a localização.
android.permission.CHANGE_NETWORK_STATE
Permite que os aplicativos alterem o estado de conectividade da rede (Permite que os aplicativos alterem o estado de conectividade da rede)
android.permission.CHANGE_WIFI_STATE
Permite que os aplicativos alterem o estado de conexão Wi-Fi-Permite que os aplicativos alterem o estado de conexão Wi-Fi (Permite que os aplicativos alterem o Wi-Fi)-Ficonnectivity state)
android.permission.CLEAR_APP_CACHE
Permite a um aplicativo limpar o cache de todos os aplicativos instalados no dispositivo.
android.permission.CLEAR_APP_USER_DATA
Permite que um aplicativo limpe as configurações do usuário (Permite que um aplicativo limpe os dados do usuário)
android.permission.CONTROL_LOCATION_UPDATES
Permite ativar/desativar notificações de atualização de localização do módulo sem fio (Permite ativar/desativar notificações de atualização de localização do módulo sem fio)/desativando notificações de atualização de localização do rádio. )
android.permission.DELETE_CACHE_FILES
Permite que um aplicativo exclua arquivos de cache (Permite que um aplicativo exclua arquivos de cache)
android.permission.DELETE_PACKAGES
Permite que um aplicativo exclua pacotes (Permite que um aplicativo exclua pacotes)
android.permission.DEVICE_POWER
Permite acesso ao gerenciamento de energia básico (Permite acesso ao gerenciamento de energia básico)-acesso de nível baixo à gestão de energia)
android.permission.DIAGNOSTIC
Permite que os aplicativos tenham acesso de leitura e escrita aos recursos de diagnóstico (Permite que os aplicativos tenham acesso de leitura e escrita aos recursos de diagnóstico. )
android.permission.DISABLE_KEYGUARD
Permite que os aplicativos desativem o bloqueio de teclado (Permite que os aplicativos desativem o bloqueio de teclado )
android.permission.DUMP
Permite que um aplicativo recupere informações de derrubada de estado dos serviços do sistema (Permite que um aplicativo recupere informações de derrubada de estado dos serviços do sistema. )
android.permission.EXPAND_STATUS_BAR
Permite que um aplicativo expanda ou contraia a barra de status, o Android Development Network sugere que deve ser semelhante a um programa de bandeja do Windows Mobile (Permite que um aplicativo expanda ou contraia a barra de status. )
android.permission.FACTORY_TEST
Executa como um aplicativo de teste de fábrica, rodando como usuário root.
android.permission.FLASHLIGHT
Permite o acesso ao flash da câmera, o site androiddev.net informa que o HTC Dream não possui flash.
android.permission.FORCE_BACK
Permite a um aplicativo forçar uma operação de voltar no que seja a atividade superior.
android.permission.FOTA_UPDATE
Ainda não se sabe para que serve isso, análise do site androiddev.net sugere que pode ser uma permissão reservada.
android.permission.GET_ACCOUNTS
Permite o acesso à lista de contas no serviço de contas.
android.permission.GET_PACKAGE_SIZE
Permite a um aplicativo descobrir o espaço utilizado por qualquer pacote.
android.permission.GET_TASKS
Permite a um aplicativo obter informações sobre as tarefas atualmente ou recentemente executadas, uma representação resumida do estado das tarefas, se estão ativas, etc.
android.permission.HARDWARE_TEST
permite acesso a periféricos de hardware (Permite acesso a periféricos de hardware. )
android.permission.INJECT_EVENTS
permite que um programa injete eventos de usuário, como teclas, toque, trackball etc., em uma corrente de eventos, o android.development.net lembra que é uma técnica de hook (Permite que um aplicativo injete eventos de usuário (teclas, toque, trackball) na corrente de eventos e os entregue a QUALQUER janela.)
android.permission.INSTALL_PACKAGES
permite que um programa instale pacotes (Permite que um aplicativo instale pacotes. )
android.permission.INTERNAL_SYSTEM_WINDOW
permite abrir janelas usando a interface do usuário do sistema (Permite que um aplicativo abra janelas para uso por partes da interface do usuário do sistema. )
android.permission.INTERNET
permite que um programa abra soquetes de rede (Permite que aplicativos abram soquetes de rede)
android.permission.MANAGE_APP_TOKENS
permite que um programa gerencie (criar, destruir, z- o padrão é mover para o eixo Z) referências de programas no gerenciador de janelas (Permite que um aplicativo gerencie (criar, destruir, Z-ordena tokens de aplicativo no gerenciador de janelas. )
android.permission.MASTER_CLEAR
Ainda não há uma explicação clara, o android.development.net analisa que pode ser limpar todos os dados, semelhante a um formato rígido
android.permission.MODIFY_AUDIO_SETTINGS
Permite que o aplicativo modifique as configurações de áudio globais (Permite que um aplicativo modifique as configurações de áudio globais)
android.permission.MODIFY_PHONE_STATE
Permite modificar o estado do telefone, como energia, interface humano-máquina, etc. (Permite modificar o estado do telefone - energia, mmi, etc.)
android.permission.MOUNT_UNMOUNT_FILESYSTEMS
Permite montar e desmontar sistemas de arquivos de armazenamento removível (Permite montar e desmontar sistemas de arquivos para armazenamento removível)
android.permission.PERSISTENT_ACTIVITY
Permite que um aplicativo faça suas activities persistirem (Permite que um aplicativo faça suas activities persistirem)
android.permission.PROCESS_OUTGOING_CALLS
Permite que o aplicativo monitore, modifique ou cancele chamadas de saída (Permite que um aplicativo monitore, modifique ou cancele chamadas de saída)
android.permission.READ_CALENDAR
Permite que o aplicativo leia os dados do calendário do usuário (Permite que um aplicativo leia os dados do calendário do usuário)
android.permission.READ_CONTACTS
Permite que o aplicativo leia os dados de contatos do usuário (Permite que um aplicativo leia os dados de contatos do usuário)
android.permission.READ_FRAME_BUFFER
Permite que o aplicativo faça capturas de tela ou tenha acesso geral aos dados do buffer de frame (Permite que um aplicativo faça capturas de tela e, de forma geral, tenha acesso aos dados do buffer de frame)
android.permission.READ_INPUT_STATE
Permite que os aplicativos recuperem o estado atual das teclas e interruptores (Permite que os aplicativos recuperem o estado atual das teclas e interruptores. )
android.permission.READ_LOGS
Permite que os aplicativos leiam os arquivos de log de sistema de baixo nível (Permite que os aplicativos leiam os arquivos de log de sistema de baixo nível)-level system log files. )
android.permission.READ_OWNER_DATA
Permite a um aplicativo ler dados do proprietário (Permite a um aplicativo ler dados do proprietário)
android.permission.READ_SMS
Permite a um aplicativo ler mensagens de SMS (Permite a um aplicativo ler mensagens de SMS)
android.permission.READ_SYNC_SETTINGS
Permite que os aplicativos leiam as configurações de sincronização (Permite que os aplicativos leiam as configurações de sincronização)
android.permission.READ_SYNC_STATS
Permite que os aplicativos leiam as estatísticas de sincronização (Permite que os aplicativos leiam as estatísticas de sincronização)
android.permission.REBOOT
Necessário para poder reiniciar o dispositivo (Necessário para poder reiniciar o dispositivo. )
android.permission.RECEIVE_BOOT_COMPLETED
Permite a um aplicativo receber a ação ACTION_BOOT_COMPLETED após o sistema finalizar a inicialização (Permite a um aplicativo receber a ação ACTION_BOOT_COMPLETED após o sistema finalizar a inicialização. )
android.permission.RECEIVE_MMS
Permite a um aplicativo monitorar mensagens MMS recebidas, gravar ou processar (Permite a um aplicativo monitorar mensagens MMS recebidas, gravar ou realizar processamento. )
android.permission.RECEIVE_SMS
Permite que o aplicativo monitore mensagens SMS recebidas, gravando ou processando-as (Permite que um aplicativo monitore mensagens SMS recebidas, gravando ou processando-as).
android.permission.RECEIVE_WAP_PUSH
Permite que o aplicativo monitore mensagens WAPPUSH recebidas (Permite que um aplicativo monitore mensagens WAPPUSH recebidas. )
android.permission.RECORD_AUDIO
Permite que o aplicativo grava áudio (Permite que um aplicativo grava áudio).
android.permission.REORDER_TASKS
Permite que o aplicativo altere a disposição das tarefas no eixo Z (Permite que um aplicativo altere a disposição das tarefas no eixo Z)-ordem das tarefas)
android.permission.RESTART_PACKAGES
Permite que o aplicativo reinicie outros aplicativos (Permite que um aplicativo reinicie outros aplicativos).
android.permission.SEND_SMS
Permite que o aplicativo envie mensagens SMS (Permite que um aplicativo envie mensagens SMS).
android.permission.SET_ACTIVITY_WATCHER
Permite que o aplicativo monitore ou controle como as atividades são iniciadas globalmente no sistema (Permite que um aplicativo monitore ou controle como as atividades são iniciadas globalmente no sistema).
android.permission.SET_ALWAYS_FINISH
Permite que o aplicativo controle se as atividades são imediatamente encerradas quando colocadas em segundo plano (Permite que um aplicativo controle se as atividades são encerradas imediatamente quando colocadas em segundo plano).
android.permission.SET_ANIMATION_SCALE
Modificar o fator de escala da animação global (Modificar o fator de escala da animação global. )
android.permission.SET_DEBUG_APP
Configurar um aplicativo para depuração (Configurar um aplicativo para depuração. )
android.permission.SET_ORIENTATION
Permite acesso de baixo nível à configuração da orientação e rotação da tela (Permite acesso de baixo nível à configuração da orientação e rotação da tela. )-acesso de nível para configurar a orientação (na verdade, a rotação) da tela (.)
android.permission.SET_PREFERRED_APPLICATIONS
Permite que um aplicativo modifique a lista de aplicações preferidas com os métodos PackageManager.addPackageToPreferred() e PackageManager.removePackageFromPreferred() (Permite que um aplicativo modifique a lista de aplicações preferidas com os métodos PackageManager.addPackageToPreferred() e PackageManager.removePackageFromPreferred(). )
android.permission.SET_PROCESS_FOREGROUND
Permite que um aplicativo force qualquer processo em execução atual a estar na tela de frente (Permite que um aplicativo force qualquer processo em execução atual a estar na tela de frente. )
android.permission.SET_PROCESS_LIMIT
Permite configurar o número máximo de processos de execução (Permite que um aplicativo configure o número máximo de processos (não necessários) que podem estar em execução. )
android.permission.SET_TIME_ZONE
Permite que os aplicativos configurem a zona de tempo do sistema.
android.permission.SET_WALLPAPER
Permite que os aplicativos configurem o papel de parede.
android.permission.SET_WALLPAPER_HINTS
Permite que os aplicativos configurem dicas de papel de parede.
android.permission.SIGNAL_PERSISTENT_PROCESSES
Permite que um aplicativo solicite que um sinal seja enviado para todos os processos persistentes.
android.permission.STATUS_BAR
Permite que um aplicativo abra, feche ou desative a barra de status e seus ícones.
android.permission.SUBSCRIBED_FEEDS_READ
Permite a um aplicativo permitir o acesso ao provedor de conteúdo dos feeds suscritos.
android.permission.SUBSCRIBED_FEEDS_WRITE
O sistema temporariamente mantém essa configuração, a androiddevnet acredita que futuras versões incluirão essa funcionalidade.
android.permission.SYSTEM_ALERT_WINDOW
Permite a um aplicativo abrir janelas usando o tipo TYPE_SYSTEM_ALERT, exibindo-se no topo de todos os outros aplicativos.
android.permission.VIBRATE
Permite acessar o dispositivo vibrador (Permite acessar o dispositivo vibrador)
android.permission.WAKE_LOCK
Permite usar WakeLocks do PowerManager para manter o processo visível enquanto a tela desaparece (Permite usar WakeLocks do PowerManager para manter o processo visível enquanto a tela desaparece)
processador de dormir ou a tela de escurecer)
android.permission.WRITE_APN_SETTINGS
Permite que os aplicativos escrevam nas configurações do API (Permite que os aplicativos escrevam nas configurações do API)
android.permission.WRITE_CALENDAR
Permite que um aplicativo escreva (mas não leia) os dados do calendário do usuário (Permite que um aplicativo escreva (mas não leia) os dados do calendário do usuário. )
android.permission.WRITE_CONTACTS
Permite que um aplicativo escreva (mas não leia) os dados de contatos do usuário (Permite que um aplicativo escreva (mas não leia) os dados de contatos do usuário. )
android.permission.WRITE_GSERVICES
Permite que um aplicativo modifique o mapa do serviço do Google (Permite que um aplicativo modifique o mapa do serviço do Google. )
android.permission.WRITE_OWNER_DATA
Permite que um aplicativo escreva (mas não leia) os dados do proprietário (Permite que um aplicativo escreva (mas não leia) os dados do proprietário. )
android.permission.WRITE_SETTINGS
Permite que um aplicativo leia ou escreva nas configurações do sistema (Permite que um aplicativo leia ou escreva nas configurações do sistema. )
android.permission.WRITE_SMS
Permite que o programa escreva mensagens de SMS (Permite que um aplicativo escreva mensagens de SMS)
android.permission.WRITE_SYNC_SETTINGS
Permite que o programa escreva configurações síncronas (Permite que os aplicativos escrevam as configurações de sincronização)
PS: Para obter informações sobre as funções de atributos do arquivo AndroidManifest.xml, consulte as ferramentas online deste site:
大全 de Descrição de Funções e Permissões do AndroidManifest
http://tools.jb51.net/table/AndroidManifest
Leitores interessados em mais conteúdo sobre Android podem consultar as seções especializadas deste site: 'Tutorial de Entrada e Avançado de Desenvolvimento Android', 'Técnicas de Depuração e Solução de Problemas Comuns no Android', 'Técnicas de Manipulação Multimídia no Android (áudio, vídeo, gravação, etc.)', 'Resumo de Uso dos Componentes Básicos do Android', 'Resumo de Técnicas de View no Android', 'Resumo de Técnicas de Layout no Android' e 'Resumo de Uso dos Controles no Android'.
Espero que o conteúdo deste artigo ajude a todos na programação de aplicativos Android.
Declaração: o conteúdo deste artigo é extraído da Internet, pertence ao autor original, o conteúdo é contribuído e carregado voluntariamente pelos usuários da Internet, o site não possui direitos de propriedade, não foi editado artificialmente e não assume responsabilidades legais relacionadas. Se você encontrar conteúdo suspeito de violação de direitos autorais, seja bem-vindo a enviar e-mail para: notice#oldtoolbag.com (ao enviar e-mail, substitua # por @ para denunciar, e forneça provas relevantes. Caso seja confirmada, o site deletará imediatamente o conteúdo suspeito de violação de direitos autorais.)