Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 任何应用程序是否可以使用“操作名称”来广播意图;android.intent.action.MEDIA“按钮”;_Java_Android_Android Intent - Fatal编程技术网

Java 任何应用程序是否可以使用“操作名称”来广播意图;android.intent.action.MEDIA“按钮”;

Java 任何应用程序是否可以使用“操作名称”来广播意图;android.intent.action.MEDIA“按钮”;,java,android,android-intent,Java,Android,Android Intent,我的应用程序注册了intent(“android.intent.action.MEDIA_BUTTON”)来处理使用以下代码按下的有线耳机键 <receiver android:name=".HeadsetEventReceiver" android:enabled="true" > <intent-filter android:priority="2147483647" > <action android:name="and

我的应用程序注册了intent(
“android.intent.action.MEDIA_BUTTON”
)来处理使用以下代码按下的有线耳机键

<receiver
    android:name=".HeadsetEventReceiver"
    android:enabled="true" >
    <intent-filter android:priority="2147483647" >
        <action android:name="android.intent.action.MEDIA_BUTTON" />
    </intent-filter>
</receiver>
我的应用程序正在接收此意图并处理此数据,就好像它实际上是由于耳机按键而广播的一样


我的查询是当任何应用程序尝试发送带有本机意图的广播时(例如:
“android.intent.action.BOOT\u COMPLETED”
)抛出securityException。为什么它不适用于上述意图(
“android.Intent.action.MEDIA_BUTTON”
)。

因为4.0或更高版本android文档说明必须使用
RegisterMaidButtoneVentreceiver
注册意图动作。如果不注册到
RegisterDiaButtoneVentreceiver
,您将不会收到广播消息

下面是记录在案的代码


因此,如果您使用的是
registerDiaButtoneVentreceiver
,那么您将获得广播,否则您将无法获得。

因为4.0或更高版本的Android文档说明您必须使用
registerDiaButtoneVentreceiver
来注册意图操作。如果不注册到
RegisterDiaButtoneVentreceiver
,您将不会收到广播消息

下面是记录在案的代码


因此,如果您使用的是
RegisterMaidiaButtoneVentreceiver
,那么您将获得广播,否则您将无法获得广播。

您使用的是什么api???因为它不会发生在api>=15中。我使用的是api 21。我的问题是,当应用程序试图发送带有意图的广播(“android.Intent.action.MEDIA_按钮”)时,为什么不抛出securityException?。它与侦听mediaButton事件侦听器无关。您使用的是什么api???因为它不会发生在api>=15中。我使用的是api 21。我的问题是,当应用程序试图发送带有意图的广播(“android.Intent.action.MEDIA_按钮”)时,为什么不抛出securityException?。它与侦听mediaButton事件侦听器无关。我使用的是api 21。我的问题是,当应用程序试图发送带有意图的广播(“android.Intent.action.MEDIA_按钮”)时,为什么不抛出securityException?。它与侦听mediaButton事件侦听器无关。它不会引发异常,因为它们已定义了要广播相同内容的接收器,所以这对它们来说不是问题。我想是的。我正在使用API21。我的问题是,当应用程序试图发送带有意图的广播(“android.Intent.action.MEDIA_按钮”)时,为什么不抛出securityException?。它与侦听mediaButton事件侦听器无关。它不会引发异常,因为它们已定义了要广播相同内容的接收器,所以这对它们来说不是问题。我想是的。
Intent newIntent = new Intent("android.intent.action.MEDIA_BUTTON")  ;
KeyEvent event = new KeyEvent(System.currentTimeMillis(), System.currentTimeMillis(), KeyEvent.ACTION_DOWN, 79, 1, 1, 1, 1, 1, InputDevice.SOURCE_TOUCHPAD);
newIntent.putExtra(Intent.EXTRA_KEY_EVENT, event);
getApplicationContext().sendBroadcast(newIntent);
AudioManager am = mContext.getSystemService(Context.AUDIO_SERVICE);
...

// Start listening for button presses
am.registerMediaButtonEventReceiver(RemoteControlReceiver);
...

// Stop listening for button presses
am.unregisterMediaButtonEventReceiver(RemoteControlReceiver);