Android 之百度推送

以前没用过推送,项目需要,花时间研究了下百度推送

记录下,仅是推送入门

1.首先去百度开放云 http://developer.baidu.com/

2014-10-09_153201

选择云推送

2014-10-09_153433

然后选择开发指南

QQ截图20141009153608

根据步骤,下载示例代码,推送设置好,到Eclipse上运行,指南上讲的很详细了,不赘述。

整个流程走完之后按照指南上的步骤就可以收到测试的推送消息。

流程到这一步,推送示例是基本走完了,那么怎么用到项目中呢?

总结了以下几点,即可完成基本的推送

1.首先在我们的工程中新建一个推送包,专门用于百度推送,把libs文件夹中的推送库与示例代码中的三个类拷进来,只要这三个类即可,见下图

QQ截图20141009155659

QQ图片20141009154352

MyPushMessageReceiver类是我们要接收用于接收系统消息的广播接收者以保证PushService(我们的应用后台服务用于接收推送,下面讲解)正常运行

PushApplication是全局Application类

Utils类是工具类包括绑定标识在SharedPreference中的记录

2.第一部走完,下面继续配置

在AndroidManifast.xml文件中设置Application为PushApplication,如果有自己定义的Application类,那么让自己定义的类继承自PushApplication类

QQ截图20141009155109

3.设置权限

<uses-permission android:name="android.permission.INTERNET"/>

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<uses-permission android:name="android.permission.READ_PHONE_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.ACCESS_DOWNLOAD_MANAGER"/>

<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"/>

<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"/>


 

 

4.在AndroidManifast.xml文件中添加三个Receiver与一个Service

这三个Receiver一个是我们刚刚拷过来的MyPushMessageReceiver声明,另外两个Receiver与Service是推送库里面的接收者与服务,代码直接拷过来即可

</pre>

<!-- push应用定义消息receiver声明 -->

<receiver android:name="com.baidu.push.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"/>

<action android:name="com.baidu.android.pushservice.action.notification.CLICK"/>

</intent-filter>

</receiver>

<!-- push必须的receviver和service声明 -->

<receiver

android: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>

<receiver

android: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>

 

<service

android: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结束 -->

<pre>


 

 

5.准备工作完成后,重要的一步就是绑定,在示例代码中我们点击“无账号绑定”或“百度帐号绑定”才能接收到推送消息,在我们的工程中同样需要绑定,我们在PushApplication的Oncrea()
方法中加上下面的代码完成绑定操作

SharedPreferences sp = PreferenceManager

                 .getDefaultSharedPreferences(getApplicationContext());

         String bind_flag=sp.getString("bind_flag","not");

       if(bind_flag.equals("not")) 

        { 

            PushManager.startWork(getApplicationContext(), 

                    PushConstants.LOGIN_TYPE_API_KEY, 

                    "EOc7BaT2VWgtbbOQolPYHGjf"); 

        } 


 

 

其中“bind_flag”从Utils中可得到这个SharedPreference名称,存储了绑定的标识,上面的代码表示当没有绑定的时候执行绑定代码

“EOc7BaT2VWgtbbOQolPYHGjf”为你的apikey,在控制台创建工程的时候生成的。
这样就算完成了,到百度开放云推送页面发送推送消息试试把!

本文永久地址:http://blog.it985.com/2616.html
本文出自 IT985博客 ,转载时请注明出处及相应链接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值