나는 통지의 버튼을 눌러서 행동을 수행하는 방법을 가지고있다.Floating Action Button에서 src를 Service.class에서 어떻게 변경합니까?
private void handleIncomingActions(Intent playbackAction) {
if (playbackAction == null || playbackAction.getAction() == null) {
return;
}
String actionString = playbackAction.getAction();
if (actionString.equalsIgnoreCase(ACTION_PLAY)) {
if (mediaPlayer != null) {
playMedia();
}
}
if (actionString.equalsIgnoreCase(ACTION_PAUSE)) {
if (mediaPlayer != null) {
pauseMedia();
//HERE NEED TO CHANGE SRC
}
}
if (actionString.equalsIgnoreCase(ACTION_CLOSE)) {
if (mediaPlayer != null) {
stopService(new Intent(this, MediaService.class));
getApplicationContext().unbindService(PlayerActivity.serviceConnection);
PlayerActivity.serviceBound = false;
//HERE NEED TO CHANGE SRC
}
}
}
두 경우에 나는 Player.ctivity 클래스에서 FAB 아이콘을 Service.class에서 변경해야합니다. "정적"을 사용하지 않고 싱글 톤없이 FAB에 어떻게 액세스 할 수 있습니까?
가 PlayerActivity
이 추가 :
public void changeFloatingActionButtonIcon(int fabIcon) {
fab.setImageResource(fabIcon);
};
이 Services.class이 추가 : 서비스에서
((PlayerActivity) getActivity()).changeFloatingActionButtonIcon(R.drawable.icon);
사용 브로드 캐스트 리시버 클래스 –
@quicklearner 그 전에, 난 그냥 방송을했다,하지만 난 여전히 정적이 아닌 경우 FAB에 액세스하는 방법을 이해하지 않습니다. – Haze