stop과 start를 구현하려 하는데..
검색으로 해결되지 않아 질문을 드립니다.
방법이 두가지 있는 듯한데..
RemoteControlClient와 MediaSession 이렇게
있는 거 같습니다.
RemoteControlClient를 여러번 검색을 해봤지만
MyRemoteControlEventReceiver을 어떻게 해야하는지에 대한 정보가 부족해 더이상 진행이 되지가 않습니다.
android에서 제공하는 예시 코드를 올립니다.
ComponentName myEventReceiver = new ComponentName(getPackageName(), MyRemoteControlEventReceiver.class.getName());
AudioManager myAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
myAudioManager.registerMediaButtonEventReceiver(myEventReceiver);
// build the PendingIntent for the remote control client
Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
mediaButtonIntent.setComponent(myEventReceiver);
PendingIntent mediaPendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, mediaButtonIntent, 0);
// create and register the remote control client
RemoteControlClient myRemoteControlClient = new RemoteControlClient(mediaPendingIntent);
myAudioManager.registerRemoteControlClient(myRemoteControlClient);
제가 이해한걸로는 "위 코드는 RemoteControlClient 객체를 생성하는 거고 이 작업은 AudioPlaybackService(mediaservice) 클래스 내 OnCreate에서 이루어져야한다.그리고 MyRemoteControlEventReceiver 클래스를 따로 정의해 lock screen에서의 버튼액션 receive를 수행하도록 한다." 이렇게 이해했습니다.
그런데 MyRemoteControlEventReceiver 클래스를 따로 정의하지않고 AudioPlaybackService(mediaservice) 클래스를 receiver로 등록하면 안되나요?..
또 receive 에서의 처리를 어떻게 해야하나요?