그래서 나는 간단한 음악 플레이어에서 일하고 있습니다. 음악 플레이어는 상태를 이름으로 지정하고 노래를 재생할 수 있으며 재생을 일시 중지하고 다음 노래로 전달하고 이전 노래로 돌아가고 완전히 재생을 중지 할 수 있습니다. 노래를 재생하면 아티스트 이름 및 노래 이름으로 알림이 표시됩니다. 이 알림에는 세 가지 버튼 (작업)이 있습니다. 중지, 다음 일시 중지.활동을 시작하지 않고 알림에서 작업을 사용하는 방법
내가 겪고있는 문제는 두 동작 중 하나를 클릭 할 때 동작과 관련된 재생 컨트롤이 실행되고 음, 그 방법을 전혀 모른다는 것입니다. Android 알림 : http://developer.android.com/guide/topics/ui/notifiers/notifications.html을 검색했지만 알림 동작에 너무 많은 정보를 제공하지 않습니다. 주 : 다음 패키지하에 작성된 후술 모든 코드 : com.deadpixels.light 여기
알림에 "다음"버튼 클릭과 연관되어야 예컨대 간단한 동작 (인 .player과 활동이라고 : PlayerActivity 여기public void nextSong() {
if (position == songs.size() -1) {
Toast.makeText(this, "No more songs on queue", Toast.LENGTH_SHORT).show();
if(mPlayer.isPlaying()) {
return;
}
else {
buttonPlay.setImageResource(R.drawable.button_play);
}
return;
}
else {
position++;
playSong(songs.get(position));
}
}
내가 어떻게 뭘하려 :
Intent nextIntent = new Intent(KEY_NEXT);
PendingIntent nextPendingIntent = createPendingResult(0, nextIntent, 0);
public static final String KEY_NEXT = "com.deadpixels.light.player.PlayerActivity.nextSong";
후 나는 addAction()를 통해 알림에 있음을 추가 :은 NextIntent에 대한 조치는 어디
mBuilder.addAction(R.drawable.not_action_next, "Next", nextPendingIntent);
너희들이 내가 시도 할 수 밖에 무엇을 알고 있습니까? 위에서 설명한 내용을 전혀 사용하지 않으면 알림이 표시되고 3 개의 동작 버튼이 있지만 나를 클릭해도 아무 것도 할 수 없습니다.
한순간에 나는 액션 이름을 가진 인 텐트 필터를 추가했다면 생각했지만 글쎄, 그들은 모두 같은 네임 스페이스에있다.
수신자 인스턴스를 저장해야합니다. –
@anonymous 귀하의 활동이나 서비스에 대한 참조를 유지하십시오. – acj
왜 BroadcastReceiver를 매니페스트에 등록하고 별도의 클래스로 만드시겠습니까? – streamride