之前介绍过如何使用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文档,文档说的很清楚。

使用百度云推送实现推送功能详解相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. DevOps:怎么实现源代码注释和系统文档的自动化更新?
  2. 前端、云与人工智能的碰撞 | GDG广州
  3. php输出数据安行,PHP对文本数据库的基本操作方法
  4. 删除作业计划出错(DELETE语句与 REFERENCE约束FK_subplan_job_id冲突。)
  5. python 得到文件行数
  6. 微软System Center 2012推进私有云计算
  7. ubuntu18安装32位库
  8. 自己启动spark集群的实验记录
  9. android后台截屏实现(3)--编译screencap
  10. 宽带拨号时出现错误列表
  11. 2018秋计算机基础在线作业华师,18秋华师《计算机基础》在线作业3(标准答案).doc...
  12. windows下解决pip安装出错问题
  13. java中jsp标准动作_JavaBean和jsp标准动作
  14. nginx做https跳转apache
  15. 关于 XHTML 1.0 Transitional//EN 下的Relative问题
  16. uc浏览器手机模拟_UC、华为、OPPO等8款手机浏览器被重点集中整治!原因是.........
  17. 河南省第九届省赛信道安全--Dijkstra最长路
  18. UltraEdit(ue记事本)科学免费激活使用教程【你懂得,亲测有效】
  19. CentOS8.3部署GlusterFS
  20. 证明:模n加法满足结合律

热门文章

  1. 嵌入式系统 - 时间管理
  2. 2021年Android面经分享,面试总结
  3. axios delete传递参数方式
  4. python设计思路怎么写_python-总体设计思想
  5. Android用户登录注册界面
  6. 我学python的那段日子(三)python基本语法(一)
  7. Day01.初识Python
  8. Win10系统怎么使用U盘重装(图文并茂)
  9. pageable实现
  10. MATLAB科研数据可视化方法