2017-01-31 3 views
0

Я хочу отследить громкость клавиши при выключенном экране. Как я могу поместить свой код в метод приема?Как реализовать метод onkeydown для вещания приемника?

Я хочу включить фонарик, когда пользователь нажал кнопку громкости вниз, и когда экран погаснет.

MyReceiver.java:

public class MyReceiver extends BroadcastReceiver { 

private boolean screenOff; 

    @Override 
    public void onReceive(Context context, Intent intent) { 
    if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) { 

     screenOff = true; 
     // Log.i("via Receiver","Normal ScreenOFF"); 
    } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) { 
     screenOff = false; 
    } else if(intent.getAction().equals(Intent.ACTION_ANSWER)) { 

    } 

    Intent i = new Intent(context, UpdateService.class); 
    i.putExtra("screen_state", screenOff); 
    context.startService(i); 
} 

} 

ответ

0

Вам не нужно, чтобы установить слушателя событий внутри onReceive(). Попробуйте вот так

setOnKeyListener(new View.OnKeyListener() { 
    @Override public boolean onKey(View v, int keyCode, KeyEvent event) { 
    switch (keyCode) { 
     case KeyEvent.KEYCODE_VOLUME_DOWN: 
     if (screenOff) { 
      // turn on torch 
      return true; 
     } 
    } 
    return false; 
    } 
+0

спасибо .. !! работает –

 Смежные вопросы

  • Нет связанных вопросов^_^