English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Este artigo descreve um exemplo de programa de bloqueio de tela com um clique implementado em programação Android. Compartilho com vocês para referência, conforme detalhado a seguir:
De acordo com o conhecimento do autor, todos os smartphones Android usam o botão de energia para bloquear manualmente a tela. Quando o autor usa o telefone, o número de vezes que bloqueia manualmente a tela em um dia é absolutamente não menos de30 vezes. Se todos usarem o botão de energia, a vida útil do botão de energia definitivamente não será longa.
Embora muitos softwares de desktop tenham integrado o bloqueio de tela com um clique, para instalar esses softwares, é necessário instalar outros componentes deles, o que é muito irritante, porque eles atualizam automaticamente regularmente ou executam coisas indesejadas em segundo plano. Portanto, decidi escrever um programa de bloqueio de tela.
Após pesquisar nos documentos de desenvolvimento do android, descobri que a partir do android 2.2Primeiro, o API já inclui um método lockNow (no pacote android.app.admin.DevicePolicyManager), o programa de bloqueio de tela pode implementar essa função.
Antes de escrever o código, temos duas classes a serem compreendidas:
1、DevicePolicyManager
Como o nome sugere, a função dessa classe é gerenciar o dispositivo. Através dessa classe, podemos implementar funções como bloqueio de tela, ajuste de brilho e até mesmo restauração das configurações de fábrica.
2、DeviceAdminReceiver
A classe pai dessa classe é BroadcastReceiver, através do método OnReceive, pode executar diferentes ações com base em diferentes ações.
O processo de desenvolvimento deste programa é大致如下:
Para usar os métodos do DevicePolicyManager, é necessário definir um Component. Em seguida, gerencie esse componente para iniciar um DeviceAdminReceiver.
Registrar um broadcast para monitorar as mudanças de permissões, o código está no arquivo AndroidManifest.xml:
<receptor android:name=".LockScreenAdmin" android:label="@string/nome_app" android:descrição="@string/nome_app" android:permission="android.permission.BIND_DEVICE_ADMIN"> <meta-dados android:name="android.app.device_admin" android:resource="@xml/bloqueio_tela_admin" /> <intenção-filtro> <ação android:name="android.app.action.DEVICE_ADMIN_ENABLED" /> </intenção-filtro> </receptor>
Neste caso, permission representa as permissões necessárias para essa função; android:name="android.app.device_admin" representa a interface de transição dessa ação; e android:resource="@xml"/bloqueio_tela_admin" que aponta para o seguinte conteúdo:
<dispositivo-admin xmlns:android="http://schemas.android.com/apk/res/android"> <usos-políticas> <force-bloqueio /> </usos-políticas> </dispositivo-admin>
1、 Implementar uma classe que herda de DeviceAdminReceiver e implementar os métodos necessários. Essa classe praticamente não requer código, portanto, omitiremos a descrição.
2、 以下是关键代码。
Este código é usado para ativar o component pela primeira vez, uma vez ativado, o component sempre será ativo. Pode usar startActivityForResult() para chamar lockNow() no método onResult para bloquear a tela, quando não for a primeira execução, chame diretamente lockNow() para bloquear a tela.
if (mDevicepolicymanager.isAdminActive(mComponentname)) { mDevicepolicymanager.lockNow(); finish(); } else {// Intent intent = new Intent( intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "A tela de bloqueio de um clique precisa ser ativada);" startActivityForResult(intent, RESULT_ENABLE); }
Até aqui, a principal parte do programa de bloqueio de tela foi concluída.
Leitores interessados em mais conteúdo relacionado ao Android podem consultar a seção especial deste site: 'Resumo de Técnicas de Processamento de Gráficos e Imagens no Android', 'Tutorial de Entrada e Avançamento no Desenvolvimento Android', 'Resumo de Técnicas de Depuração e Solução de Problemas Comuns no Android', 'Resumo de Técnicas de Manipulação de 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 do Android', 'Resumo de Técnicas de Layout do Android' e 'Resumo de Uso dos Controles do Android'.
Espero que o que é discutido neste artigo ajude a todos a projetar programas 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 responsabilidade legal relevante. 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. Atingida, o site deletará imediatamente o conteúdo suspeito de infringência.)