【发布时间】:2015-10-20 20:34:40
【问题描述】:
我已经实现了SMS Receiver,它监听一条特定的短信(必须包含一个关键字)。
我知道因为KitKat你不能禁用短信通知,但是这条短信可以prevent sound alert/vibration吗?
因此,如果用户的手机被锁定并且我的短信进入,手机不会振动或发出声音。但是如果有其他短信进来,就正常了。
【问题讨论】:
-
不,除非您的应用是默认短信应用。
我已经实现了SMS Receiver,它监听一条特定的短信(必须包含一个关键字)。
我知道因为KitKat你不能禁用短信通知,但是这条短信可以prevent sound alert/vibration吗?
因此,如果用户的手机被锁定并且我的短信进入,手机不会振动或发出声音。但是如果有其他短信进来,就正常了。
【问题讨论】:
将接收者优先级设置为高,即在AndroidManifest.xml 中设置<intent-filter android:priority="1000">。您现在应该可以在 onRecieve() 中调用 abortBroadcast(); 以避免将其发送给其他侦听器。
【讨论】:
我不认为abortBroadcast() 是个好主意。它可能会破坏依赖Broadcast 的其他应用程序。您可以让短信通知声音静音!
AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
这是reference。
【讨论】: