0

我有按钮 Play/Stop ,一个按钮通过播放或不改变他的资源,但是当我转到其他片段(活动)并使用 Play/Stop 按钮返回片段时,正在播放音乐但资源是默认的。

如果我按下按钮,它会停止服务,这没关系,唯一的问题是 ImageResource 更改。

我的代码:

int button_status = 1;
.... other code ...

public void onClick(View v) {
if (button_status == 1){

    button_status = 0;
    buttonPlayStop.setImageResource(R.drawable.pause);

    getActivity().startService(new Intent(getActivity(), Service.class));       

    }else{

    button_status = 1;
    buttonPlayStop.setImageResource(R.drawable.play);

    getActivity().stopService(new Intent(getActivity(), Service.class));

    }
}

有任何想法吗 ?

4

1 回答 1

0

您可以Service在 Activity中检查您的状态onResume。根据Service(运行与否)的状态,您可以设置按钮的资源。

跟踪Service状态的最简单方法是引入一些代表状态的静态字段

检查您的活动是否正在运行的更好方法是使用以下代码段(从此处窃取):

private boolean isMyServiceRunning() {
    ActivityManager manager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
    for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
        if (MyService.class.getName().equals(service.service.getClassName())) {
            return true;
        }
    }
    return false;
}
于 2013-07-03T16:15:12.900 回答