Bmob 推送框架结构
2021-04-09 本文已影响0人
雁过留声_泪落无痕
Bmob 推送框架结构
基于1.0.2版本
<!--TODO 集成:1.1、添加数据SDK和推送SDK需要的权限-->
<!--比目数据SDK所需的权限-->
<!--允许联网 -->
<uses-permission android:name="android.permission.INTERNET" />
<!--获取GSM(2g)、WCDMA(联通3g)等网络状态的信息 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--获取wifi网络状态的信息 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--保持CPU 运转,屏幕和键盘灯有可能是关闭的,用于文件上传和下载 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!--获取sd卡写的权限,用于文件上传和下载-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--允许读取手机状态 用于创建BmobInstallation-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--推送所需的权限-->
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<service
android:label="PushService"
android:name="cn.bmob.push.lib.service.PushService"
android:process=":bmobpush"
android:exported="true">
<intent-filter>
<action android:name="cn.bmob.push.lib.service.PushService"/>
</intent-filter>
</service>
<!-- 用于进程保活 -->
<service
android:name="cn.bmob.push.lib.service.PushNotifyService"
android:process=":bmobpush" >
</service>
<receiver android:name="cn.bmob.push.PushReceiver" >
<intent-filter>
<!-- 系统启动完成后会调用 -->
<action android:name="android.intent.action.BOOT_COMPLETED" />
<!-- 解锁完成后会调用 -->
<action android:name="android.intent.action.USER_PRESENT" />
<!-- 监听网络连通性 -->
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
<!-- 消息接收器,在这里进行注册 -->
<receiver android:name="your.package.MyPushMessageReceiver">
<intent-filter >
<action android:name="cn.bmob.push.action.MESSAGE"/>
</intent-filter>
</receiver>
<!-- 接收心跳和唤醒的广播,要和PushService运行在同个进程 -->
<receiver
android:name="cn.bmob.push.PushNotifyReceiver"
android:process=":bmobpush" >
<intent-filter>
<!-- 接收心跳广播的action -->
<action android:name="cn.bmob.push.action.HEARTBEAT" />
<!-- 接收唤醒广播的action -->
<action android:name="cn.bmob.push.action.NOTIFY" />
</intent-filter>
</receiver>