【发布时间】:2013-11-21 08:32:03
【问题描述】:
我编写了一些服务,它使用 BroadcastReceiver 来捕获媒体按钮之一(来自耳机的“播放按钮”),它在 android 2.3.x(HTC Nexus One 或 HTC Desire)上完美运行
当我尝试在 Android 4.0.3 (Samsung Nexus S) 上运行时,它不起作用(我的应用程序没有收到意图“android.intent.action.MEDIA_BUTTON”和“播放”按钮的行为正常:停止/开始音乐)。
清单内容:
... <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <receiver android:name=".buttonreceiver.MediaButtonIntentReceiver" > <intent-filter android:priority="10000" > <action android:name="android.intent.action.MEDIA_BUTTON" /> </intent-filter> </receiver> ...
有没有办法让它在 android 4.0.3 上运行
编辑:我尝试了建议的解决方案,我添加了操作并运行它,但我的接收器仍然没有收到意图。更奇怪的是通过代码注册接收器也不起作用:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.about_and_activation_view);
Log.d("MR", "onCreate - " + getIntent().getAction());
mReceiver = new MediaButtonIntentReceiver();
registerReceiver(mReceiver, new IntentFilter(Intent.ACTION_MEDIA_BUTTON));
}
现在我完全糊涂了。
【问题讨论】:
-
另请注意,Intent 优先级必须大于 -1000 且小于 1000。
标签: android broadcastreceiver android-manifest android-4.0-ice-cream-sandwich