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

执行效果例如以下

第一步,假设使用百度的SDK,当然要先成为百度的开发人员啦,这个就不详述了。成为开发人员之后,我们要建立一个应用,例如以下图所看到的

第二步,创建好应用之后,我们点击开方者服务管理,进入project管理页面,然后点击左側云推送,进入云推送功能页面,详细例如以下图

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

下载实例代码

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

实例代码结构例如以下

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

主要有这么几个注意点:

1.MainActivity中代码例如以下

  1. public class MainActivity extends Activity {
  2.  
  3. @Override
  4. protected void onCreate(Bundle savedInstanceState) {
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.activity_main);
  7. initWithApiKey();
  8. }
  9.  
  10. // 无账号初始化,用api key绑定
  11. private void initWithApiKey() {
  12. PushManager.startWork(getApplicationContext(),
  13. PushConstants.LOGIN_TYPE_API_KEY,
  14. "FKkvaMToo1wkeIFEcH7udatc");
  15. }
  16.  
  17. }

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

2.在MyApplication中,我们须要自己定义Application,并依照以下实现(不光有这样的形式,很多其它信息还是看百度SDK的说明文档,说得非常具体)

  1. public class MyApplication extends FrontiaApplication {
  2.  
  3. @Override
  4. public void onCreate() {
  5. super.onCreate();
  6. }
  7.  
  8. }

自己定义Application之后,我们须要在清单文件里进行设置

  1. <application
  2. android:name="com.example.baidupush.MyApplication"
  3. android:allowBackup="true"
  4. android:icon="@drawable/ic_launcher"
  5. android:label="@string/app_name"
  6. android:theme="@style/AppTheme" >

3.MyPushMessageReceiver这个类是用来接收server发送来的请求的,我这里直接把实例代码中的拷贝了过来,详细功能实现还须要自己改动

4.Utils这个类不是关键代码,能够无视

5.必须把libs目录以下的资源包拷过来

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

7.清单文件配置非常重要,以下是配置代码和说明

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:tools="http://schemas.android.com/tools"
  4. package="com.example.baidupush"
  5. android:versionCode="1"
  6. android:versionName="1.0" >
  7.  
  8. <uses-sdk
  9. android:minSdkVersion="14"
  10. android:targetSdkVersion="19" />
  11.  
  12. <!-- 推送权限,必须加 -->
  13. <uses-permission android:name="android.permission.INTERNET" />
  14. <uses-permission android:name="android.permission.READ_PHONE_STATE" />
  15. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  16. <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
  17. <uses-permission android:name="android.permission.WRITE_SETTINGS" />
  18. <uses-permission android:name="android.permission.VIBRATE" />
  19. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  20. <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
  21. <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  22. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
  23.  
  24. <application
  25. android:name="com.example.baidupush.MyApplication"
  26. android:allowBackup="true"
  27. android:icon="@drawable/ic_launcher"
  28. android:label="@string/app_name"
  29. android:theme="@style/AppTheme" >
  30. <activity
  31. android:name="com.example.baidupush.MainActivity"
  32. android:launchMode="singleTask"
  33. android:label="@string/app_name" >
  34. <intent-filter>
  35. <action android:name="android.intent.action.MAIN" />
  36.  
  37. <category android:name="android.intent.category.LAUNCHER" />
  38. </intent-filter>
  39. </activity>
  40.  
  41. <!-- push应用定义消息receiver声明 ,这是对前面MyPushMessageReceiver的注冊-->
  42. <receiver android:name="com.example.baidupush.MyPushMessageReceiver" >
  43. <intent-filter>
  44. <!-- 接收push消息 -->
  45. <action android:name="com.baidu.android.pushservice.action.MESSAGE" />
  46. <!-- 接收bind,unbind,fetch,delete等反馈消息 -->
  47. <action android:name="com.baidu.android.pushservice.action.RECEIVE" />
  48. <!-- 接收notification的点击事件 -->
  49. <action android:name="com.baidu.android.pushservice.action.notification.CLICK" />
  50. </intent-filter>
  51. </receiver>
  52.  
  53. <!-- push必须的receviver和service声明 ,不用改动,直接拷贝-->
  54. <receiver
  55. android:name="com.baidu.android.pushservice.PushServiceReceiver"
  56. android:process=":bdservice_v1" >
  57. <intent-filter>
  58. <action android:name="android.intent.action.BOOT_COMPLETED" />
  59. <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
  60. <action android:name="com.baidu.android.pushservice.action.notification.SHOW" />
  61. <action android:name="com.baidu.android.pushservice.action.media.CLICK" />
  62. </intent-filter>
  63. </receiver>
  64. <receiver
  65. android:name="com.baidu.android.pushservice.RegistrationReceiver"
  66. android:process=":bdservice_v1" >
  67. <intent-filter>
  68. <action android:name="com.baidu.android.pushservice.action.METHOD" />
  69. <action android:name="com.baidu.android.pushservice.action.BIND_SYNC" />
  70. </intent-filter>
  71. <intent-filter>
  72. <action android:name="android.intent.action.PACKAGE_REMOVED" />
  73.  
  74. <data android:scheme="package" />
  75. </intent-filter>
  76. </receiver>
  77.  
  78. <service
  79. android:name="com.baidu.android.pushservice.PushService"
  80. android:exported="true"
  81. android:process=":bdservice_v1" >
  82. <intent-filter>
  83. <action android:name="com.baidu.android.pushservice.action.PUSH_SERVICE" />
  84. </intent-filter>
  85. </service>
  86. <!-- push结束 -->
  87.  
  88. </application>
  89.  
  90. </manifest>

这样,当我们在百度的云推送后台发送推送信息的时候,client就能够收到来自我们后台的推送了。

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

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

使用【百度云推送】第三方SDK实现推送功能具体解释的更多相关文章

  1. 使用百度云 BOS 和 C# SDK 开发数据存储

    Ø  简介 本文主要介绍如何使用百度云的 C# SDK 操作 BOS(Baidu Object Storage/百度对象存储),以及常见问题和解决办法.本文将以以下几点展开学习: 1.   基本介绍 ...

  2. Android之使用个推实现三方应用的推送功能

    PS:用了一下个推.感觉实现第三方应用的推送功能还是比较简单的.官方文档写的也非常的明确. 学习内容: 1.使用个推实现第三方应用的推送.      所有的配置我最后会给一个源代码,内部有相关的配置和 ...

  3. 利用百度云接口实现车牌识别·python

    一个小需求---实现车牌识别. 目前有两个想法 1. 调云在线的接口或者使用SDK做开发(配置环境和变异第三方库麻烦,当然使用python可以避免这些问题) 2. 自己实现车牌识别算法(复杂) 一开始 ...

  4. python利用百度云接口实现车牌识别

    一个小需求---实现车牌识别. 目前有两个想法 调云在线的接口或者使用SDK做开发(配置环境和编译第三方库很麻烦,当然使用python可以避免这些问题) 自己实现车牌识别算法(复杂) ! 一开始准备使 ...

  5. 百度云推送-服务端 C# SDK

    思路: 1.公司有项目需要做android和ios手机端推送消息的功能: 2.没有接触过这方面的知识,一头雾水,开始在网上一顿搜,网上倒是有不少解决方案,首先搜的是android的解决方案,因为ios ...

  6. 改写百度云推送SDK,PHP PEAR 包:Services_Baidu_Push

    iPhone使用apple push很方便,而Android很多厂商删除了google push,而且google在大陆连不上,所以要用别的办法. Android常见的推送服务商有:极光推送(http ...

  7. Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能

    Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSD ...

  8. atitit.web 推送实现方案集合(2)---百度云,jpush 极光推送 ,个推的选型比较.o99

    atitit.web 推送实现方案集合(2)---百度云,jpush 极光推送 ,个推的选型比较.o99 1.1. 云推送有推送次数或频率的限制吗? 1 1.2. 推送的消息长度 1 1.3. 离线消 ...

  9. Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送

    Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送, ...

随机推荐

  1. 【Linux命令】查找命令

    如果你想在当前目录下 查找"hello,world!"字符串,可以这样: grep -rn "hello,world!" *

  2. Introduction to Json

    什么是Json 是Javascript·对象的一种表示,属于轻量级数据,它比XMl小,快,易解析 作用: 用于存储和交换(转换)信息的语言,还可以将各种数据类型放在json中并进行数据传输 整理的章节 ...

  3. 在word中批量制作条形码

    条码打印软件可以批量生成条形码然后直接打印,但是有些客户不需要直接打印,而是想将生成的条形码在word中进行排版,发给自己的客户或者下属部门来打印.那么如何实现在word中批量制作条形码呢? 操作很简 ...

  4. 用Xamarin 实现园友的 :Android浮动小球与开机自启动

    原文:用Xamarin 实现园友的 :Android浮动小球与开机自启动 前两天看园子里有筒子写了个 Android浮动小球与开机自启动  , 感觉这种被 360 玩烂的功能原来是如此的简单啊... ...

  5. logback自定义格式转换器

    创建自定义格式转换符有两步. 首先,必须继承ClassicConverter类.ClassicConverter对象负责从ILoggingEvent 提取信息,并产生一个字符串.例如,LoggerCo ...

  6. Android Intent 解析之二

    服务端Intent运行过程: Sticky:这个类型的BroadCast表示某些Intent须要被保留,当新的应用起来后,须要关注这个消息,可是呢,又不须要启动这个应用来接收此消息,比方耳机插入等消息 ...

  7. 写一方法计算实现任意个整数之和.在主调函数中调用该函数,实现任意个数之和。(使用params参数)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. ListActivity的注意点

    有的时候我们需要集成ListActivity,注意点1,这个时候我们的xml中的<ListView>标签中的id属性不能够随便自己命名,而是要固定为android:id="@id ...

  9. Hibernate入门之配置文件

    <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hi ...

  10. if简单的写法之范围

    /* Name:if的范围 Copyright: By.不懂网络 Author: Yangbin Date:2014年2月9日 03:22:32 Description: */ # include & ...