之前介绍过如何使用shareSDK实现新浪微博分享功能,今天介绍如何使用百度云推送SDK实现Android手机后台推送功能。

运行效果如下

第一步,如果使用百度的SDK,当然要先成为百度的开发者啦,这个就不详述了。成为开发者之后,我们要建立一个应用,如下图所示

第二步,创建好应用之后,我们点击开方者服务管理,进入工程管理页面,然后点击左侧云推送,进入云推送功能页面,具体如下图

进入云推送详细页面之后,我们点击推送设置,设置好我们的应用的包名,然后点击快速实例,将系统给我们产生的示例代码下载下来

下载实例代码

第三步,将实例代码导入Eclipse,开始准备整合。

实例代码结构如下

经过整合之后,我们的Demo代码如下

主要有这么几个注意点:

1.MainActivity中代码如下

public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initWithApiKey();}// 无账号初始化,用api key绑定private void initWithApiKey() {PushManager.startWork(getApplicationContext(),PushConstants.LOGIN_TYPE_API_KEY,"FKkvaMToo1wkeIFEcH7udatc");}}

在主界面要进行api key的绑定,“FKkvaMToo1wkeIFEcH7udatc”这一串数值是应用的api key,在下面这个地方可以获取

2.在MyApplication中,我们需要自定义Application,并按照下面实现(不光有这种形式,更多信息还是看百度SDK的说明文档,说得很详细)

public class MyApplication extends FrontiaApplication {@Overridepublic void onCreate() {super.onCreate();}}

自定义Application之后,我们需要在清单文件中进行设置

<applicationandroid:name="com.example.baidupush.MyApplication"android:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" >

3.MyPushMessageReceiver这个类是用来接收服务器发送来的请求的,我这里直接把实例代码中的拷贝了过来,具体功能实现还需要自己修改

4.Utils这个类不是关键代码,可以无视

5.必须把libs文件夹下面的资源包拷过来

6.如果要实现富媒体推送,还需要把资源图片和布局也拷贝过来

7.清单文件配置很重要,下面是配置代码和说明

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"package="com.example.baidupush"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="14"android:targetSdkVersion="19" /><!-- 推送权限,必须加 --><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /><uses-permission android:name="android.permission.WRITE_SETTINGS" /><uses-permission android:name="android.permission.VIBRATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.DISABLE_KEYGUARD" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><applicationandroid:name="com.example.baidupush.MyApplication"android:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name="com.example.baidupush.MainActivity"android:launchMode="singleTask"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><!-- push应用定义消息receiver声明 ,这是对前面MyPushMessageReceiver的注册--><receiver android:name="com.example.baidupush.MyPushMessageReceiver" ><intent-filter><!-- 接收push消息 --><action android:name="com.baidu.android.pushservice.action.MESSAGE" /><!-- 接收bind,unbind,fetch,delete等反馈消息 --><action android:name="com.baidu.android.pushservice.action.RECEIVE" /><!-- 接收notification的点击事件 --><action android:name="com.baidu.android.pushservice.action.notification.CLICK" /></intent-filter></receiver><!-- push必须的receviver和service声明 ,不用修改,直接拷贝--><receiverandroid:name="com.baidu.android.pushservice.PushServiceReceiver"android:process=":bdservice_v1" ><intent-filter><action android:name="android.intent.action.BOOT_COMPLETED" /><action android:name="android.net.conn.CONNECTIVITY_CHANGE" /><action android:name="com.baidu.android.pushservice.action.notification.SHOW" /><action android:name="com.baidu.android.pushservice.action.media.CLICK" /></intent-filter></receiver><receiverandroid:name="com.baidu.android.pushservice.RegistrationReceiver"android:process=":bdservice_v1" ><intent-filter><action android:name="com.baidu.android.pushservice.action.METHOD" /><action android:name="com.baidu.android.pushservice.action.BIND_SYNC" /></intent-filter><intent-filter><action android:name="android.intent.action.PACKAGE_REMOVED" /><data android:scheme="package" /></intent-filter></receiver><serviceandroid:name="com.baidu.android.pushservice.PushService"android:exported="true"android:process=":bdservice_v1" ><intent-filter><action android:name="com.baidu.android.pushservice.action.PUSH_SERVICE" /></intent-filter></service><!-- push结束 --></application></manifest>

这样,当我们在百度的云推送后台发送推送信息的时候,客户端就可以收到来自我们后台的推送了。

除此之外,百度云推送还有一些其他功能,比如设置点击notification之后的显示界面、响声,富文本推送,自定义notification显示样式等等,如果想了解这些,还是下载SDK文档,文档说的很清楚。

CSDN的上传资源网页挂掉了,先不传代码了。

【第三方SDK】使用百度云推送实现推送功能详解相关推荐

  1. 百度地图开发者平台普通IP定位功能详解

    前端时间业务需求,进而去了解IP定位的功能,一开始使用的免费API接口,但是几天时间接口就访问失效,了解到百度地图也有IP定位功能,所以记录使用的过程. 一.注册百度地图开发者,并创建应用 在创建应用 ...

  2. php微信小程序物流进度推送,微信小程序 消息推送php服务器验证实例详解

    微信小程序 消息推送php服务器验证实例详解 设置页面("设置">>"开发设置"): 1.设置服务器域名 注意http和https协议的不同. 2. ...

  3. 短信平台专业版软件客户端功能详解源码搭建|移讯云短信系统

    国际短信平台专业版软件客户端功能详解|移讯云短信系统 首页显示 剩余条数 充值总数 提交总数 成功数量 失败数量 未知数量 代发数量 签名数量 最新提交 平台公告 API接口文档 短信发送 发送短信选 ...

  4. 【Android语音合成TTS】百度语音接入方法,和使用技巧详解

    请尊重他人的劳动成果,转载请注明出处:[Android语音合成TTS]百度语音接入方法,和使用技巧详解 Ps. 依托于百度开放云,百度语音为合作伙伴提供了业界领先.永久免费的语音技术服务,目前已上线的 ...

  5. 【云原生之k8s】k8s基础详解

    [云原生之k8s]k8s基础详解 前言 一.kubernetes介绍 (1)kubernetes简介 (2)应用部署方式的演变 二.kubernetes组件 (1)kubernetes架构 (2)ma ...

  6. 国际短信系统平台后台功能详解-移讯云短信软件

    国际短信系统平台后台功能详解-移讯云短信软件   后台登陆首页显示 ⦁    用户总量记录: 显示总使用户数量 ⦁    待审核账号数量记录: 等待审核的新用户账号数量 ⦁    待审核签名数量记录: ...

  7. 海信电视云账号连不上服务器,海信云账号如何使用?图文教程详解

    原标题:海信云账号如何使用?图文教程详解 海信云账号可以在海信智能电视等海信一系列等多种智能终端上登录并共享资源.登录后,可以全面享受海信应用商城.媒体云.围观等服务. 海信云账号是海信专为海信智能电 ...

  8. 微信小程序云开发入门(二)-数据库详解

    微信小程序云开发入门(二)-数据库详解 接上一篇:微信小程序云开发入门(一) 摘要: 因为微信小程序云数据库有点类似传统的关系型数据库,但又有所不同.所以刚入手的时候会有点困扰,经过一段时间的学习和摸 ...

  9. 【华为云计算产品系列】云上容灾架构实战部署详解

    [华为云计算产品系列]云上容灾架构实战部署详解 1.前言 2. 容灾方案介绍 2.1. 本地高可用 2.2. 同城双活 2.3. 主备容灾(同步远程复制/异步远程复制) 2.3.1. 同步远程复制 2 ...

  10. [新手必备]Unity推箱子小游戏C#代码详解(第一篇-代码部分)

    完整项目请参考博客:https://blog.csdn.net/qq_41676090/article/details/96300302 本文为推箱子小游戏C#代码详解第一篇的代码部分,主要讲解 Sy ...

最新文章

  1. Linux下的权限掩码umask
  2. css3 -webkit-filter
  3. java 处理 url_Java URL处理 - Java 教程 - 自强学堂
  4. .NET开发框架(四)-服务器IIS实践教程
  5. Java:Speedment 3.2的发布–现在启用轻量级数据库微服务
  6. twisted python_Python爬虫Scrapy框架之Hello Word
  7. 几个小技巧提升导图使用逼格
  8. ezd激光雕刻机软件使用笔记。
  9. 捷径|Instagram去水印教程
  10. 去水印程序源码大全源码
  11. vs2013设置winp#cap开发环境
  12. 百位产业一线大咖齐聚上海都聊了啥?POW'ER 2020峰会尖峰48小时全程回顾
  13. 【重磅】镭速云传企业版今天上线啦!
  14. Vue routers
  15. 红蓝对抗场景下的二三事
  16. Windows应急响应 -Windows日志排查,系统日志,Web应用日志,
  17. 精读《对 Markdown 的思考》
  18. 计算机专业证书难度,计算机专业应该考这些证书!
  19. 单相半波可控整流电路实验报告matlab,单相桥式全控整流电路MATLAB仿真 实验报告(上).doc...
  20. 传真服务器架设一点通

热门文章

  1. 算法学习 (门徒计划)4-2 单调栈(Monotone-Stack)及经典问题 学习笔记
  2. 物联网云平台设计与开发: 实验1 前端环境搭建与开发
  3. Unity使用Gradle打包方式接入Firebase时配置文件google-services.json遇到的坑
  4. 如何用 GPU 硬件层加速优化 Android 系统的游戏流畅度
  5. 为什么影视解说短视频总是没流量?可能是踩了这几个“雷区”
  6. styl类型文件css,CSS 格式的语法
  7. html语言教程 ppt,HTML语言基础入门课件.ppt
  8. 上海交通大学电院高薪诚聘计算机、自动化、生物信息学、系统生物学、生物、化学、药学等相关专业博后...
  9. 使用盗版软件企业将入“黑名单” 降其信用等级
  10. 将对象转为需要的数组形式