应该在 service 中监听,普通页面很容易被释放掉.

解决方案 »

  1.   

    类似于这样的 IntentFilter commandFilter = new IntentFilter();
    commandFilter.addAction(SERVICECMD);
    commandFilter.addAction(TOGGLEPAUSE_ACTION);
    commandFilter.addAction(PAUSE_ACTION);
    commandFilter.addAction(NEXT_ACTION);
    commandFilter.addAction(PREVIOUS_ACTION);
    commandFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
    registerReceiver(mIntentReceiver, commandFilter);
    private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
    public void onReceive(Context context, Intent intent) {
    String action = intent.getAction();
    String cmd = intent.getStringExtra("command");
    MusicUtils.debugLog("mIntentReceiver.onReceive " + action + " / "
    + cmd);
    if (CMDNEXT.equals(cmd) || NEXT_ACTION.equals(action)) {
    } else if (CMDPREVIOUS.equals(cmd)
    || PREVIOUS_ACTION.equals(action)) {
    } else if (CMDTOGGLEPAUSE.equals(cmd)
    || TOGGLEPAUSE_ACTION.equals(action)) {
    } else if (CMDPAUSE.equals(cmd) || PAUSE_ACTION.equals(action)) {
    } else if (CMDSTOP.equals(cmd)) {
    } else if (MediaAppWidgetProvider.CMDAPPWIDGETUPDATE.equals(cmd)) {
    }else if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(intent
    .getAction())) {
    }
    }
    };