En utilisant le code ci-dessous j'ai arrêté l'utilisation des boutons de volume à moins que je ne diffuse de l'audio (sinon cela change le volume de la sonnerie), mais le bouton 'Back' ne fonctionne pas. En appuyant sur «retour» devrait arriver à mon bureau de téléphones (ou quitter mon application, comme vous vous attendez), mais il ne fait rien. Si j'ouvre le menu, 'Back' fermera le menu comme il se doit, mais je ne peux pas quitter l'application.android - bouton de volume remplacé a affecté le bouton de retour?
J'ai copié le code sur d'autres activités dans mon application, si j'ouvre une autre activité dans mon application, parce que le bouton 'Back' ne fonctionne pas, je ne peux pas retourner à l'écran principal :)
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//Suppress the use of the volume keys unless we are currently listening to the stream
if(keyCode==KeyEvent.KEYCODE_VOLUME_UP) {
if(StreamService.INT_PLAY_STATE==0){
return true;
}else{
return false;
}
}
if(keyCode==KeyEvent.KEYCODE_VOLUME_DOWN) {
if(StreamService.INT_PLAY_STATE==0){
return true;
}else{
return false;
}
}
return false;
Pourquoi cela se produit-il?
a d'autres boutons affectés – katsharp
Êtes-vous sûr vous voulez empêcher l'utilisateur de changer le volume de sa sonnerie? Le comportement normal sur les appareils Android est de changer le volume de la sonnerie quand aucun son n'est en cours de lecture et de changer le volume des médias quand il est, peu importe l'application dans laquelle vous vous trouvez. Comme vous l'avez, ils doivent fermer votre application pour modifier leur volume de sonnerie. Si j'étais votre utilisateur, j'appellerais cela un ennui plutôt qu'une caractéristique. – LouieGeetoo
Salut Louie, oui je suis d'accord mais son application de streaming audio, la plupart des utilisateurs me disent qu'il est ennuyeux d'ouvrir l'application, en cliquant sur écouter (il y a une seconde ou deux pause pendant que le flux se connecte) au cas où son trop fort et à la place les volumes de la sonnerie descend. – jwbensley