Frage

Ich brauche meine Tätigkeit Griff HOME-Taste drückt mit einem Empfänger programmatisch, aber das Ereignis nicht zu feuern. Ich kann, jedoch erfolgreich registrieren und diese Absicht Filter erfassen, wenn ich erklären sie in einem manifest.xml Aktivität Abschnitt. Hier ist der Code für der Empfänger, der nicht funktioniert:

BroadcastReceiver br;

br = new BroadcastReceiver() {
       @Override
       public void onReceive(Context context, Intent intent) {
               return;  // I put a breakpoint here to see if this gets called
       }
};


IntentFilter intf = new IntentFilter();
intf.addAction(Intent.ACTION_MAIN);
intf.addCategory(Intent.CATEGORY_HOME);
intf.addCategory(Intent.CATEGORY_DEFAULT);

registerReceiver(br, intf);

Wer weiß, warum dies nicht die Home-Taste klicken nicht erfassen?

By the way, habe ich versucht, um diese Arbeit durch eine andere Tätigkeit zu schaffen und Angabe seine Absicht Filter in dem manifest. Ich habe die Tätigkeit im Manifest enabled = „false“ aber ich konnte nicht herausfinden, wie man dass die Aktivität zur Laufzeit ermöglichen. Unterm Strich, ich möchte nur zu registrieren nur die Home-Taste Intent-Filter für meine Anwendung, wenn meine Anwendung ausgeführt wird, und ich kann nicht herausfinden, wie das zu tun.

War es hilfreich?

Lösung

Wenn Sie versuchen, einen Ersatz-Startbildschirm zu implementieren, müssen Sie Ihre Intent Filter im Manifest sein -. Die Home-Beispielanwendung im SDK

Wenn Sie versuchen, die HOME-Taste zu blockieren, bitte nicht.

Andere Tipps

Es soll nie ein Fall sein, wenn Sie benötigen, sollten Sie die Home-Taste außer Kraft zu setzen, ist es dort um sicherzustellen, dass der Benutzer stets die Kontrolle über sein Telefon halten. Was genau wollen Sie tun? Wenn Sie ermitteln möchten, wenn Sie Ihre Aktivität nicht mehr sichtbar sind, sollten Sie außer Kraft setzen OnStop ().

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top