开发者社区> 问答> 正文

三. 配置AndroidManifest.xml

已解决

展开
收起
2018-05-25 08:04:27 827 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档


    3.1 appkey和appsecret配置

    1. <application android:name="*****">
    2. <meta-data android:name="com.alibaba.app.appkey" android:value="*****"/> <!-- 请填写你自己的- appKey -->
    3. <meta-data android:name="com.alibaba.app.appsecret" android:value="****"/> <!-- 请填写你自己的appSecret -->
    4. </application>

    com.alibaba.app.appkeycom.alibaba.app.appsecret为您App的对应信息,在推送控制台APP列表页的应用证书中获取。appkey和appsecret请务必写在application标签下,否则sdk会报找不到appkey错误。如果您是百川云推送用户,不能直接使用百川平台的appKey和appSecret,需要登录阿里云移动推送控制台,登录账号为您的百川平台账号,并使用阿里云平台的appKey,appSecret。

    3.2 Permission 的配置


    • 将以下uses-permission片段拷贝进你manifest中的Permission申明区域中:
    1. <!--阿里移动推送相关权限-->
    2. <!--Android 6.0版本可去除,用于选举信息(通道复用)的同步-->
    3. <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    4. <!--进行网络访问和网络状态监控相关的权限声明-->
    5. <uses-permission android:name="android.permission.INTERNET" />
    6. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    7. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    8. <!--允许对sd卡进行读写操作-->
    9. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    10. <!--网络库使用,当网络操作时需要确保事务完成不被杀掉-->
    11. <uses-permission android:name="android.permission.WAKE_LOCK" />
    12. <!--用于读取手机硬件信息等,用于机型过滤-->
    13. <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    14. <!--选举使用,当应用有删除或者更新时需要重新选举,复用推送通道-->
    15. <uses-permission android:name="android.permission.BROADCAST_PACKAGE_CHANGED" />
    16. <uses-permission android:name="android.permission.BROADCAST_PACKAGE_REPLACED" />
    17. <uses-permission android:name="android.permission.RESTART_PACKAGES" />
    18. <!--补偿通道小米PUSH使用,不用可去除-->
    19. <uses-permission android:name="android.permission.GET_TASKS" />
    20. <!--补偿通道GCM使用,不使用可去除-->
    21. <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    22. <!--允许监听启动完成事件-->
    23. <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    24. <!--允许访问震动器-->
    25. <uses-permission android:name="android.permission.VIBRATE" />
    26. <!-- 允许task重排序 -->
    27. <uses-permission android:name="android.permission.REORDER_TASKS" />

    3.3 Service 的配置


    • 将以下service片段拷贝进你Manifest中的service申明区域中:
    1. <!-- 通道保持服务 -->
    2. <service android:name="com.alibaba.sdk.android.push.ChannelService"
    3. android:exported="true" android:process=":channel">
    4. <intent-filter>
    5. <action android:name="com.taobao.accs.intent.action.SERVICE"/>
    6. </intent-filter>
    7. <intent-filter>
    8. <action android:name="org.agoo.android.intent.action.PING_V4" />
    9. <category android:name="taobao" />
    10. </intent-filter>
    11. </service>
    12. <!-- 消息接收服务 -->
    13. <service android:name="com.alibaba.sdk.android.push.MsgService"
    14. android:exported="false">
    15. <intent-filter>
    16. <action android:name="com.taobao.accs.intent.action.RECEIVE" />
    17. </intent-filter>
    18. <intent-filter>
    19. <action android:name="com.alibaba.sdk.android.push.NOTIFY_ACTION" />
    20. </intent-filter>
    21. </service>
    22. <!-- 消息接收增强服务(可提高通知/消息达到率)-->
    23. <service android:name="com.alibaba.sdk.android.push.channel.TaobaoRecvService" android:exported="true">
    24. <intent-filter>
    25. <action android:name="org.android.agoo.client.MessageReceiverService"/>
    26. </intent-filter>
    27. </service>

    3.4 Receiver 的配置


    将以下receiver片段拷贝进你manifest中的receiver申明区域中:

    />
  • </intent-filter>
  • <intent-filter>
  • <action android:name="com.taobao.accs.intent.action.COMMAND" />
  • </intent-filter>
  • <intent-filter>
  • <action android:name="com.taobao.taobao.intent.action.COMMAND" />
  • </intent-filter>
  • <intent-filter>
  • <action android:name="org.agoo.android.intent.action.RECEIVE" />
  • </intent-filter>
  • <intent-filter>
  • <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
  • </intent-filter>
  • <intent-filter>
  • <action android:name="android.intent.action.USER_PRESENT" />
  • </intent-filter>
  • <intent-filter>
  • <action android:name="android.intent.action.BOOT_COMPLETED"/>
  • </intent-filter>
  • <intent-filter>
  • <action android:name="android.intent.action.PACKAGE_REMOVED"/>
  • <data android:scheme="package"/>
  • </intent-filter>
  • </receiver>
  • 如果已升级到v3.0.0及以上版本,需将<action android:name="org.agoo.android.intent.action.RECEIVE" />改为<action android:name="com.alibaba.sdk.android.push.RECEIVE" />,否则会接收不到推送。
2018-05-27 18:19:50
赞同 展开评论 打赏
问答分类:
问答地址:
相关问答
372
0
0
762
1
0
729
1
0
1326
2
0
16776
14
0
907
1
0
430
1
0
628
1
0
290
1
0
262
1
0
问答排行榜
最热
最新

相关课程

更多
推荐问答

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载