android集成友盟推送遇到的问题

本文档详细介绍了在Android项目中集成友盟推送的步骤,包括导入PushSDK模块、设置权限配置和注册服务。在集成过程中,需要注意避免文件路径含有中文,为AndroidManifest.xml添加必要的元数据,并在Android 6.0及以上版本申请存储权限以确保推送服务正常运行。同时,在Application的onCreate方法中必须注册推送服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

           在自身项目集成友盟推送时,参考了官方文档的教程

           

导入 PushSDK

  1. 把下载的 zip 文件解压缩(解压后的文件路径不能有中文)

  2. 把解压缩后得到的目录下的 PushSDK 当做 Module 导入到自己的工程

  3. 在之前的 AndroidManifest.xml 的基础上添加

    <meta-data
    android:name="UMENG_MESSAGE_SECRET"
    android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>
    
  4. 编辑 build.gradle 添加模块

    dependencies{
    // ...
    compileproject(':PushSDK')
    }
    

权限配置

若主工程的 targetSdkVersion 为 23 及以上,需要运行时申请 存储权限 ( WRITE_EXTERNAL_STORAGE ),否则在 Android 6.0 及以上机型可能出现无法选举宿主的情况。

注册服务

在工程的 Application 类的 onCreate() 方法中注册推送服务,无论推送是否开启都需要调用此方法:

PushAgent mPushAgent = PushAgent.getInstance(this);
// 注册推送服务,每次调用 register 方法都会回调该接口
mPushAgent.register(newIUmengRegisterCallback() {

@Override
publicvoidonSuccess(String deviceToken){
// 注册成功会返回 device token
 }

@Override
publicvoidonFailure(String s, String s1){

 }
但是按照上述步骤后,一直获取不到
deviceToken
最后在APP moduel的build的 defaultConfig领域中加入
ndk {
      abiFilters "armeabi","x86"
}
在gradle.properties 文件里面添加 android.useDeprecatedNdk=true 后重新编译即可
解决了收不到推送消息的问题


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值