2

我在我的 android 服务类中放置了一个广播接收器。迄今为止只有一种叫做“接收者”。最好只有一个带有选择语句的广播接收器(如if else if)?我可以在一个 android 服务类中放置多个广播接收器吗?

例如,这个示例代码与我使用的类似。其中有一个“else if”语句来处理两个不同的意图广播:

 public BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent){
        String action = intent.getAction();
    if(action.equals("com.test.AudioPlay")){
            // action for play
            Toast.makeText(AudioService.this, "play audio from service", Toast.LENGTH_LONG).show();
        }
        else if(action.equals("com.test.AudioPause")){
            // action for pause
            Toast.makeText(AudioService.this, "pause audio from service", Toast.LENGTH_LONG).show();
        }
    }

};
4

1 回答 1

2

如果您只使用一个具有不同操作的广播接收器,那么对于所有操作,将比使用不同的广播接收器更有效。

当我读到您正在尝试广播音乐播放器的开始、暂停和所有功能时,您应该将该服务与您的活动绑定。有关 boundservices 的更多信息,您可以参考开发者博客

于 2012-10-17T08:39:36.537 回答