2015-11-30 6 views
-2

Я тестирую события громкости «вверх/вниз», и он отлично работает, но у меня есть вопрос.Как отключить том в приложении

Когда я нажал на кнопку громкости «повернуть вверх» мой код работает правильно, но при нажатии кнопки громкости поворота вниз это то, что я вижу на моем экране:

http://i.imgur.com/oThipej.jpg

Как отключить это?

Мой код:

import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.KeyEvent; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

public class MainActivity extends AppCompatActivity { 
    private Button pregunta; 
    private TextView respuesta; 

int sino = 0; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    pregunta = (Button)findViewById(R.id.pregunta); 
    respuesta = (TextView)findViewById(R.id.respuesta); 
} 

public void responde(View v){ 

    if(sino == 1){ 
     respuesta.setText("La respuesta es sí."); 
    }else if (sino == 2){ 
     respuesta.setText("La respuesta es no"); 
    }else{ 
     respuesta.setText("Ummmm, no lo veo claro..."); 
    } 

    sino = 0; 
} 


@Override 
public boolean dispatchKeyEvent(KeyEvent event) { 
    int action = event.getAction(); 
    int keyCode = event.getKeyCode(); 
    switch (keyCode) { 
     case KeyEvent.KEYCODE_VOLUME_UP: 
      if (action == KeyEvent.ACTION_DOWN) { 
       sino = 1; 
      } 
      return true; 
     case KeyEvent.KEYCODE_VOLUME_DOWN: 
      if (action == KeyEvent.ACTION_DOWN) { 
       sino = 2; 
      } 
      return false; 
     default: 
      return super.dispatchKeyEvent(event); 
    } 
} 
+1

пришлите нам код! –

+0

добавил мой код !! –

+0

Да, но с этим я не разрешаю свою проблему. Я спрашиваю, как я могу отключить «уведомление о плавающем томе» –

ответ

1

вы должны заменить "возвращение ложным;" «вернуть истину»;

@Override 
public boolean dispatchKeyEvent(KeyEvent event) { 
int action = event.getAction(); 
int keyCode = event.getKeyCode(); 
switch (keyCode) { 
    case KeyEvent.KEYCODE_VOLUME_UP: 
     if (action == KeyEvent.ACTION_DOWN) { 
      sino = 1; 
     } 
     return true; 
    case KeyEvent.KEYCODE_VOLUME_DOWN: 
     if (action == KeyEvent.ACTION_DOWN) { 
      sino = 2; 
     } 
     return true; 
    default: 
     return super.dispatchKeyEvent(event); 
} 
} 
+1

Чтобы развернуть это: Возвращение 'true' сигнализирует программе о том, что событие было уничтожено, что означает, что событие, запущенное в вашем переопределении, должно выполняться без вызывания последующих последующих действий по умолчанию. –

+0

Ой, ничего себе, им действительно глупо. Спасибо за все :) –

+0

пожалуйста, примите :) –