1

我正在尝试使用 java 而不是清单来注册接收器,因为当我的应用程序关闭时我不需要此接收器工作。

如果我使用清单,我的接收器运行良好:

 <receiver android:name=".services.PlayerService$RemoteControlReceiver" >
        <intent-filter>
            <action android:name="android.intent.action.MEDIA_BUTTON" />
        </intent-filter>
    </receiver>

如果我在没有清单的情况下在我的活动中注册它,这根本不起作用:

IntentFilter filter = new IntentFilter();
    {
        filter.addAction("android.intent.action.MEDIA_BUTTON");
    }

    registerReceiver(RemoteControlReceiver, filter);

我不需要使用清单,因为我只想在我的应用打开时控制耳机按钮。

4

1 回答 1

2

使用Intent.ACTION_MEDIA_BUTTON而不是android.intent.action.MEDIA_BUTTON作为;

IntentFilter filter = new IntentFilter(Intent.ACTION_MEDIA_BUTTON);    
filter.setPriority(10000);    
registerReceiver(RemoteControlReceiver, filter);  
于 2012-06-06T15:55:28.127 回答