3

在某些三星 Galaxy 手机中,当我们按下耳机按钮时,音乐播放器就会启动。我想禁用此功能。按下耳机按钮后,我想做另一项任务。

我怎样才能做到这一点?

仅在我的Intent.ACTION_MEDIA_BUTTON应用程序中收到,音乐播放器不应收到意图。这样音乐播放器就不会启动,我会在我的应用程序中做我想做的事情。

4

1 回答 1

2

有点晚了,但这对其他人有用。

在清单文件中,将您的意图过滤器优先级设置为“高”(android:priority)。我认为文档的最高可能值是 999。

<receiver android:name="media_button">      
    <intent-filter android:priority="999">
        <action android:name="android.intent.action.MEDIA_BUTTON" />
    </intent-filter>
</receiver>

然后在您的接收器代码中中止广播到其他意图。您可以通过调用abortBroadcast()函数来做到这一点。

  public class media_button extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
      if (Intent.ACTION_MEDIA_BUTTON.equals(intent.getAction())) {
        //your code ...

        //abort other actions
        this.abortBroadcast();
      }
    }
}
于 2013-03-27T11:02:33.143 回答