1.问题
推送从2.+版本升级到3.+版本后,收不到通知/消息,但Log已经打印通知/消息,是什么原因?
2.解决方案
由于推送SDK版本版本升级,做了一些局部修改。如果你是从V2.3.7及以下版本升级到V3.0.0及以上版本的用户,需在Manifest文件中修改您的消息接收Receiver的intent-filter。将:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您遇到的问题可能是由于在升级阿里云推送SDK版本后,没有正确地调整AndroidManifest.xml文件中的配置导致的。根据您的描述和提供的解决方案,问题在于消息接收Receiver的intent-filter部分需要更新。
在旧版本(V2.3.7及以下)中,接收推送通知的intent-filter可能使用的是:
<intent-filter>
<action android:name="org.agoo.android.intent.action.RECEIVE" />
</intent-filter>
但在升级到V3.0.0及以上版本后,阿里云推送服务改变了这个action的名字,因此您需要将上述代码修改为:
<intent-filter>
<action android:name="com.alibaba.sdk.android.push.RECEIVE" />
</intent-filter>
确保进行此更改后,您的应用能够正确识别并处理来自新版本推送SDK的通知。如果问题仍然存在,建议检查以下几点: 1. 权限配置:确认是否已添加所有必要的权限,如网络权限、读取外部存储等。 2. 服务与广播接收器注册:检查AndroidManifest.xml
中是否正确注册了PushService和自定义的BroadcastReceiver。 3. 应用设置:用户设备上是否有禁止应用后台运行或接收通知的设置。 4. 日志分析:详细查看Logcat输出的日志,寻找可能的错误信息或异常提示,这有助于进一步定位问题所在。 5. 清理与重建项目:有时候,简单地清理项目并重新编译也能解决因缓存或旧文件残留引起的问题。
参考文档链接通常会提供更详细的步骤和示例,按照官方指南操作通常能有效解决问题。如果以上步骤都无法解决问题,建议直接查阅阿里云官方文档或联系阿里云技术支持获取帮助。