2012-04-27 19 views
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_UP) { 
       //TODO 
      } 
      return true; 
     case KeyEvent.KEYCODE_VOLUME_DOWN: 
      if (action == KeyEvent.ACTION_DOWN) { 
       //TODO 
      } 
      return true; 
     default: 
      return super.dispatchKeyEvent(event); 
     } 
    } 

答えて

3

アクション "android.media.VOLUME_CHANGED_ACTION" とBroadcastReceiverを登録することができます。やっての

android.media.VOLUME_CHANGED_ACTION 

他の方法がある:volume key on Android

+0

私のコードは実際にうまく動作しますが、問題は画面がロックされている間は機能しません。私がしなければならないこと?可能であれば、私に例を挙げてください。ありがとうございました。 –

+0

これは機能しません。私はBroadCastReceiverを作りました。電話機がロックされていない間はうまくいきましたが、電話機がロックされるとすぐに、キーが押された場合はキャプチャできません。何か考えていますか? –

+0

@mrshあなたはその解決策を見つけましたか?私は同じ問題に直面しています –

1

はサービスでこれを行います。その後

public class MyService extends Service { 

@Override 
public void onCreate() { 
    super.onCreate(); 
    final BroadcastReceiver vReceiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      //your code here 
     } 
    }; 
    registerReceiver(vReceiver, new IntentFilter("android.media.VOLUME_CHANGED_ACTION")); 
} 

} 

画面がときに、画面上の音楽を停止するためにオフにし、アクションIntent.ACTION_SCREEN_ONときに継続的にサイレントサウンドを再生するアクションIntent.ACTION_SCREEN_OFFでBroadcastReceiverを登録します。音量ボタンは、音楽が再生されているときのみ有効です。

+0

どうもありがとうございました。どうやって無音を連続して演奏できますか? –

+0

SoundPool、MediaPlayer、ToneGeneratorを使用できます。 2つのフォルマを使用して、空の音楽ファイルをhttp://www.xamuel.com/blank-mp3s/からダウンロードし、SoundPool.play(load、0、0、0、-1、1)またはMediaPlayer.setLooping( true)と.setVolume(0,0)を使用して、静かで連続的なサウンドを再生します。 ToneGeneratorでは、ToneGenerator.startTone(ToneGenerator.TONE_CDMA_DIAL_TONE_LITE)を使用します。 https://developer.android.com/reference/android/media/SoundPool.html https://developer.android.com/reference/android/media/MediaPlayer.html https://developer.android.com /reference/android/media/ToneGenerator.html –

関連する問題