7

我的应用程序处理小区广播消息,这是一个无序广播。我希望我的应用程序接收此广播并终止 CB 消息的消息通知。

我发现可以通过使用带有优先级标签的意图过滤器来抑制短信通知,如下所示

<receiver android:name="com.example.sis.xxyyReceiver" >
      <intent-filter android:priority="999">
         <action android:name="android.provider.Telephony.SMS_RECEIVED" >
         </action>
      </intent-filter>
</receiver>

所以我尝试对这样的 CB 消息做同样的事情

<intent-filter android:priority="100">
     <action android:name="android.provider.Telephony.CB_RECEIVED" >
     </action>
</intent-filter>

但是没有用,日志猫看起来如下

在此处输入图像描述

从我的研究和下面的评论中,我了解到不能中止非有序广播,所以我要做的就是抑制 CB 消息生成的通知(即 CB_SMS 警报和振动)。

任何人都可以帮助我终止非有序广播通知吗?

4

2 回答 2

7

您不能中止常规广播。每个为他们注册的BraodcastReceiver人都会得到他们。

于 2013-04-24T13:07:38.763 回答
0

或者,您可以调低音量?

或者只是模拟蓝牙耳机挂钩来自动接听电话(无声)?

Intent i = new Intent(Intent.ACTION_MEDIA_BUTTON);
                i.putExtra(Intent.EXTRA_KEY_EVENT,
                        new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK));
                context.sendOrderedBroadcast(i, "android.permission.CALL_PRIVILEGED");

                Intent o = new Intent(Intent.ACTION_MEDIA_BUTTON);
                o.putExtra(Intent.EXTRA_KEY_EVENT,
                        new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_HEADSETHOOK));
                context.sendOrderedBroadcast(o, "android.permission.CALL_PRIVILEGED");
于 2013-06-12T14:40:09.727 回答