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

asIntent.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 に答える