2
android.intent.action.MEDIA_BUTTON을 수신하고 그에 따라 extra_key_event를 얻는 broadcastreceiver를 만들고 싶습니다. 어쨌든 onreceive 행동은 수행되지 않습니다. 내 매니페스트에android broadcastreceviver onreceive action not performed
:
receiver android:name="MediaButtonReceiver"
intent-filter
action android:name="android.intent.action.MEDIA_BUTTON"
intent-filter
수신기
내 브로드 캐스트 리시버에서:
내가 볼륨 작게 키를 누를 때, 아무것도 표시되지 않습니다public class MVCS extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_MEDIA_BUTTON.equals(intent.getAction())) {
/* handle media button intent here by reading contents */
/* of EXTRA_KEY_EVENT to know which key was pressed */
KeyEvent ke = (KeyEvent)intent.getExtras().get(Intent.EXTRA_KEY_EVENT);
if (ke .getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN) {
Toast.makeText(context, "BUTTON PRESSED!", Toast.LENGTH_SHORT).show();
}
}
}
.
도움이 될 것입니다.
도움 주셔서 감사합니다. 내 활동이 실행 중이 지 않을 때도 방송 수신기가 백그라운드에서 계속 서비스처럼 실행됩니까? – kevdliu
브로드 캐스트 수신기는 서비스와 같지 않으며 계속해서 실행되는 것은 하나도 없으며 일부 이벤트에 연결하는 수신기입니다. 사건이 해고되었을 때만 실행되며 응답이 빠르지 않다는 것을 명심하십시오. 때때로 청취자가 해고 될 때까지 300 ~ 400mS가 걸립니다. – ruhalde