我已经实现了一个SMS接收器,它可以毫无问题地拦截传入的SMS消息。
但是,当我安装GO SMS Pro并设置“禁用其他消息通知”时,则我的应用
即使我在 Intent 过滤器上设置了优先级也没有收到任何广播消息
很高。有没有一种方法可以克服,以便我的应用程序始终接收短信广播
用户在Go SMS Pro的应用程序上执行的操作的信息,特别是因为我的应用程序未显示任何UI弹出窗口
通知?卸载GO SMS Pro后,我的应用程序立即开始接收传入的SMS广播
并且工作正常。
这是收到传入的SMS并安装GO SMS Pro时的日志。有一些
我不明白GO SMS Pro的魔力。有人可以解释在这里做什么以及如何做
我可以确保我的应用每次都得到有序的广播通知吗?
07-02 19:52:21.674: INFO/Zygote(25209): Zygote: pid 25209 has INTERNET permission, then set capability for CAP_NET_RAW
07-02 19:52:21.820: INFO/ActivityThread(25209): Publishing provider go-sms: com.jb.gosms.provider.GoSmsProvider
07-02 19:52:21.830: INFO/ActivityThread(25209): Publishing provider go-mms-sms: com.jb.gosms.provider.GoMmsSmsProvider
07-02 19:52:21.834: INFO/ActivityThread(25209): Publishing provider com.jb.gosms.im;com.jb.gosms.chat:
com.jb.gosms.im.database.ImContentProvider
07-02 19:52:21.842: INFO/ActivityThread(25209): Publishing provider com.jb.gosms.schedule.Schedule: com.jb.gosms.schedule.ScheduleProvider
07-02 19:52:21.846: INFO/ActivityThread(25209): Publishing provider go-mms: com.jb.gosms.provider.GoMmsProvider
07-02 19:52:21.959: DEBUG/dalvikvm(25209): GC_FOR_MALLOC freed 2657 objects / 173112 bytes in 30ms
07-02 19:52:22.182: DEBUG/dalvikvm(25209): Trying to load lib /data/data/com.jb.gosms/lib/libHanzi2Pinyin.so 0x47d4cf70
07-02 19:52:22.182: DEBUG/dalvikvm(25209): Added shared lib /data/data/com.jb.gosms/lib/libHanzi2Pinyin.so 0x47d4cf70
07-02 19:52:22.182: DEBUG/dalvikvm(25209): No JNI_OnLoad found in /data/data/com.jb.gosms/lib/libHanzi2Pinyin.so 0x47d4cf70, skipping init
07-02 19:52:22.186: INFO/Hanzi2Pinyin_Native(25209): InitLib in ver=3141000
07-02 19:52:22.186: INFO/Hanzi2Pinyin_Native(25209): Init in
07-02 19:52:22.186: INFO/Hanzi2Pinyin_Native(25209): file size=155203
07-02 19:52:22.186: INFO/Hanzi2Pinyin_Native(25209): Init out
07-02 19:52:22.186: INFO/Hanzi2Pinyin_Native(25209): Instance out Init = 21
07-02 19:52:22.186: INFO/Hanzi2Pinyin_Native(25209): InitLib out
07-02 19:52:22.467: DEBUG/dalvikvm(25209): GC_FOR_MALLOC freed 5960 objects / 376104 bytes in 29ms
07-02 19:52:22.815: DEBUG/IMS/Ims3GPP2SmsMessage(25209): IMSLogcreateFromPdu : calling parsePdu
07-02 19:52:22.815: DEBUG/IMS/Ims3GPP2SmsMessage(25209): IMSLogpdu to parse : 000002100202070292A106A85A0008150003100730010610254E9D3A000306110702195220
07-02 19:52:22.815: DEBUG/IMS/Ims3GPP2SmsMessage(25209): IMSLogparseAddress
07-02 19:52:22.815: DEBUG/IMS/Ims3GPP2SmsMessage(25209): IMSLogaddress received :3233292992
07-02 19:52:22.815: DEBUG/IMS/Ims3GPP2SmsMessage(25209): IMSLogbearer data received : 0003100730010610254E9D3A000306110702195220
07-02 19:52:22.815: ERROR/bearer data(25209): bearer data obtained 1
07-02 19:52:22.815: DEBUG/EMS(25209): messageType is 1 messageId is 115 hasUserDataHeader is false
07-02 19:52:22.858: DEBUG/IMS/Ims3GPP2SmsMessage(25209): IMSLogcreateFromPdu : calling parsePdu
最佳答案
对于Go SMS Pro,优先级的“相当高”值是不够的,因为它们已将其绝对最大值设置为2147483647(2 ^ 31-1)。因此,如果您按此值计算,则只要在Go SMS Pro之前安装您的应用程序就可以了,因为在相同优先级下,Android OS会将广播广播到“较旧的”应用程序(这是根据我的经验,不是官方信息) 。如果在您的应用程序之前安装了Go SMS Pro,则应警告用户有关情况。他们可以使用其他方式配置Go SMS Pro或将其卸载,然后再次重新安装它,以便您的应用程序也能正常工作。
关于android - 安装GO SMS Pro时未调用SMS Broadcastreceiver,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6561297/