一个广播接收器,具有多个动作处理与几个广播接收器

时间:2012-10-17 08:31:59

标签: android broadcastreceiver android-service

我在我的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();
        }
    }

};

1 个答案:

答案 0 :(得分:2)

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

当我读到您正试图播放音乐播放器的开始,暂停和所有功能时,您应该将服务与您的活动绑定。 有关bound服务的更多信息,请参阅developer blog