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

Esempio di simulazione della funzione del pulsante HOME in Android

Questo articolo illustra il metodo di programmazione Android per simulare la funzione del pulsante HOME. Condivido questo con tutti voi per riferimento, come segue:

Creare un metodo simile a quello di QQ che preme il pulsante di ritorno senza distruggere l'Activity (cioè non chiamare Activity.finish(), il sistema non chiama onDestroy), ma simile a premere il pulsante Home, far sì che l'Activity sembri "pausata" (cioè chiamare solo onPause, onDestroy).

Il codice è il seguente:

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(keyCode == KeyEvent.KEYCODE_BACK){
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // Attenzione
    intent.addCategory(Intent.CATEGORY_HOME);
    this.startActivity(intent);
    return true;
  }
  return super.onKeyDown(keyCode, event);
}

Attenzione speciale:intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); Questo comando deve essere aggiunto, perché il launchMode predefinito di Activity è eseguito in modo standard. Se non si aggiunge questo segno di spunta, verrà creato un nuovo Activity e posizionato nella stessa Task dell'Activity corrente. Di seguito è riportata la descrizione di FLAG_ACTIVITY_NEW_TASK: il segno di spunta FLAG_ACTIVITY_NEW_TASK

Quando l'oggetto Intent passato a startActivity() contiene il segno di spunta FLAG_ACTIVITY_NEW_TASK, il sistema cercherà un task diverso dall'activity corrente per avviare l'activity necessaria. Se l'attributo affinity dell'activity da avviare è diverso da tutti gli attributi affinity di tutti i task esistenti, il sistema creerà un nuovo task con quell'attributo affinity e spingerà l'activity da avviare nel nuovo stack di task; altrimenti, l'activity verrà spinta nel stack con lo stesso attributo affinity.

Chi è interessato a ulteriori contenuti su Android può consultare le sezioni speciali di questo sito: 'Introduzione e avanzamento nella sviluppo Android', 'Trucchi di debug e soluzioni comuni ai problemi di Android', 'Trucchi di operazione multimediali Android (audio, video, registrazione, ecc.)', 'Sommarizzazione dell'uso dei componenti di base Android', 'Sommarizzazione delle tecniche di vista View Android', 'Sommarizzazione delle tecniche di layout Android' e 'Sommarizzazione dell'uso dei controlli Android'.

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

Dichiarazione: il contenuto di questo articolo è stato prelevato da Internet, è di proprietà dei rispettivi detentori del copyright, il contenuto è stato contribuito e caricato dagli utenti di Internet autonomamente, questo sito non detiene il diritto di proprietà, non è stato editato manualmente e non assume responsabilità per le relative responsabilità legali. Se trovi contenuti sospetti di violazione del copyright, è gradito inviare una e-mail a notice#oldtoolbag.com (sostituisci # con @) per segnalare, fornendo prove pertinenti. Una volta verificata, questo sito rimuoverà immediatamente i contenuti sospetti di violazione del copyright.

Ti potrebbe interessare