Je développe une application pour android tv box avec une télécommande IR. Dans mon application, j'ai lancé avec succès un navigateur Web à partir de mon code, et je veux fermer ce navigateur lorsque l'utilisateur appuie sur un bouton de la télécommande IR. J'ai essayé d'attraper l'événement clé en écoutant l'événement clé de répartition dans mon code, mais l'événement clé ne se fait pas attraper. Quelqu'un pourrait m'aider s'il vous plaît à attraper l'événement de presse clé dans ma demande. MerciArrêt d'un navigateur par programmation en lisant une touche matérielle appuyer sur android
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
if(event.getKeyCode()==170) {
// some code
}
return true;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent i = new Intent("android.intent.action.MAIN");
i.setComponent(new ComponentName("org.mozilla.firefox", "org.mozilla.firefox.App"));
Bundle b = new Bundle();
b.putBoolean("new_window", true);
i.putExtras(b);
i.addCategory("android.intent.category.CATEGORY_LAUNCHER");
startActivity(i);
}
Pourriez-vous suggérer comment obtenir des événements clés lorsque l'utilisateur utilise Firefox? merci .. – user2949215
@ user2949215 Vous ne pouvez pas. Cela fait partie du modèle de sécurité d'Android - les événements clés ne peuvent pas être redirigés ou envoyés par programme à d'autres applications/d'autres applications. Au lieu de cela, vous pouvez lancer votre propre activité avec un WebView, plutôt que d'utiliser le navigateur. –