Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[java/android] home knop blokkeren

Pagina: 1
Acties:

  • joekeee
  • Registratie: Maart 2012
  • Laatst online: 30-07-2022
Ik ben een kindvriendelijke applicatie aan het maken waarbij de Android home knop geblokkeerd moet worden zodat het kind de applicatie niet kan verlaten.
Hier ben ik in geslaagd door van mijn applicatie een launcher te maken.

Het probleem is wanneer je de home knop lang indrukt, dat je een overzicht krijgt van recent geopende applicaties waar je een andere applicatie kan openen. Dit krijg ik maar niet geblokkeerd.

Ik heb verschillende manieren onderzocht:
- de recente apps lijst leegmaken of wijzigen
- de knop overnemen
- alle andere applicaties afsluiten/killen
Geen van deze zijn mogelijk of ik krijg ze alvast niet werkend.

Iemand met meer ervaring in Android Development of iemand die mij op weg kan helpen?
Ik heb de vraag ook gesteld op http://stackoverflow.com/...ion-from-recent-apps-list maar voorlopig geen antwoorden.

Alvast bedankt!

  • alex3305
  • Registratie: Januari 2004
  • Laatst online: 23:05
Alhoewel je een kindvriendelijke applicatie aan het maken bent, moet je wel nagaan of je dit soort gedrag wilt. Ik neem aan dat deze applicatie op een dedicated apparaat zal gaan draaien, want anders is het zwaar bad practice om zowel de home als power knop te onderdrukken.

Ik heb echter wel een mogelijkheid gevonden die alle systeem dialogen onderdrukt:

Java:
1
2
3
4
5
6
7
8
9
10
11
12
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);

    Log.d("Focus debug", "Focus changed !");

    if(!hasFocus) {
        Log.d("Focus debug", "Lost focus !");
 
        Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
        sendBroadcast(closeDialog);
    }
}


Vergeet daarnaast niet om een manier in te bouwen waardoor je weer terug naar het systeem kan (instellingen bijvoorbeeld).