English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Android编程实现的一键锁屏程序详解

Questo articolo descrive un programma di blocco dello schermo one-click implementato in Android programming. Condivido questo con tutti voi per riferimento, come segue:

Secondo le mie conoscenze, tutti gli smartphone Android utilizzano il pulsante di alimentazione per bloccare manualmente lo schermo. Quando utilizzo lo smartphone, il numero di volte che blocco manualmente lo schermo nel giorno è sicuramente non inferiore a 30. Se lo facessi con il pulsante di alimentazione, la durata della vita del pulsante di alimentazione non sarebbe lunga.

Anche se molti software desktop integrano il blocco dello schermo con un clic, è necessario installare altri componenti per questi software, il che è piuttosto irritante, perché devono aggiornarsi automaticamente regolarmente o eseguire qualcosa di indesiderato in background. Quindi ho deciso di scrivere un programma di blocco dello schermo da solo.

Dopo aver cercato nei documenti di sviluppo Android, ho scoperto che a partire da Android 2.2, l'API include un metodo lockNow (nel pacchetto android.app.admin.DevicePolicyManager), che può essere utilizzato per implementare il programma di blocco dello schermo.

Prima di scrivere il codice, ci sono due classi che dobbiamo conoscere:

1、DevicePolicyManager

Come suggerisce il nome, la funzione di questa classe è gestire il dispositivo. Attraverso questa classe, possiamo realizzare funzioni come bloccare lo schermo, regolare la luminosità e persino ripristinare le impostazioni di fabbrica.

2、DeviceAdminReceiver

La superclasse di questa classe è BroadcastReceiver, attraverso il metodo OnReceive può eseguire azioni diverse in base a diversi Action.

Il processo di sviluppo di questo programma è approssimativamente il seguente:

Per utilizzare i metodi di DevicePolicyManager, è necessario definire un Component. Poi avvia un DeviceAdminReceiver gestendo questo componente.
Registrare una broadcast per monitorare le variazioni delle autorizzazioni, il codice è nel file AndroidManifest.xml:

<receiver android:name=".LockScreenAdmin" android:label="@string/app_name"}}
  android:description="@string/app_name" android:permission="android.permission.BIND_DEVICE_ADMIN">
  <meta-data android:name="android.app.device_admin"
    android:resource="@xml/lock_screen_admin" />
  <intent-filter>
    <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
  </intent-filter>
</receiver>

In cui, permission rappresenta i permessi necessari per questa funzione; android:name="android.app.device_admin" rappresenta l'interfaccia di transizione di questa azione; mentre android:resource="@xml/lock_screen_admin" punta al contenuto seguente:

<device-admin
 xmlns:android="http://schemas.android.com/apk/res/android">
  <uses-policies>
    <force-lock />
  </uses-policies>
</device-admin>

1、  Implementare una classe che eredita da DeviceAdminReceiver e implementare i metodi richiesti. Questa classe non richiede molta codifica, quindi la tralasciamo.

2、  Segue il codice chiave.

Questo codice viene utilizzato per attivare il component alla prima esecuzione del programma, dopo averlo attivato una volta, questo component rimarrà sempre attivato. Utilizzando startActivityForResult() è possibile chiamare lockNow() nel metodo onResult per bloccare lo schermo, quando non è la prima esecuzione, chiamare direttamente lockNow() per bloccare lo schermo.

if (mDevicepolicymanager.isAdminActive(mComponentname)) {
  mDevicepolicymanager.lockNow();
  finish();
else { // Prima esecuzione del programma
  Intent intent = new Intent(
      DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
  intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
      mComponentname);
  intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
      "Basta una chiave per attivare lo schermo di blocco";
  startActivityForResult(intent, RESULT_ENABLE);
}

Fino ad ora, la parte principale del programma di blocco dello schermo è stata completata.

I lettori interessati a ulteriori contenuti relativi a Android possono consultare le sezioni speciali del nostro sito: 'Riassunto delle tecniche di elaborazione di immagini e grafica Android', 'Manuale di introduzione e avanzamento dello sviluppo Android', 'Riassunto delle tecniche di debug e soluzioni dei problemi comuni Android', 'Riassunto delle tecniche di operazione dei media multimediali Android (audio, video, registrazione, ecc.)', 'Riassunto dell'uso dei componenti di base Android', 'Riassunto delle tecniche di View Android', 'Riassunto delle tecniche di layout Android' e 'Riassunto dell'uso dei controlli Android'.

Spero che il contenuto di questo articolo possa essere utile per la progettazione di applicazioni Android.

Dichiarazione: il contenuto di questo articolo è stato prelevato da Internet, il diritto d'autore spetta agli autori originali, il contenuto è stato contribuito e caricato dagli utenti di Internet, il sito web non detiene i diritti di proprietà, non è stato editato manualmente e non assume responsabilità legali correlate. Se trovi contenuti sospetti di violazione del copyright, è gradito inviare una e-mail a notice#oldtoolbag.com (sostituisci # con @ quando invii l'e-mail) per segnalare, fornendo prove pertinenti. Una volta verificata, il sito web eliminerà immediatamente i contenuti sospetti di violazione del copyright.