マニフェストの内容は次のとおりです(これは内部にあります
<receiver android:name=".MediaButtonIntentReceiver">
<intent-filter android:priority="2147483647">
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
</receiver>
主な活動
private MediaButtonIntentReceiver receiver = new MediaButtonIntentReceiver();
onCreate(Bundle savedInstanceState){
..
IntentFilter filter = new IntentFilter(Intent.ACTION_MEDIA_BUTTON);
filter.setPriority(1000);
registerReceiver(receiver,filter);
..
}
これは MediaButtonIntentReceiver.class です
public class MediaButtonIntentReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent)
{
KeyEvent v_Event = (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
if (v_Event == null) {
return;
}
int v_Action = v_Event.getAction();
if (v_Action == KeyEvent.ACTION_DOWN) {
// do something
Toast.makeText(context, "BUTTON PRESSED!", Toast.LENGTH_SHORT).show();
}
abortBroadcast();
}
何らかの理由で、アプリケーションを起動してヘッドセット ボタンをクリックすると、トースト メッセージが表示されません。しかし、音楽が再生され始めます。私は自分が何をしているのかを検索しようとしましたが、運がありません。