Android 之百度推送
2016-02-24 21:38
483 查看
以前没用过推送,项目需要,花时间研究了下百度推送
记录下,仅是推送入门
1.首先去百度开放云 http://developer.baidu.com/
选择云推送
然后选择开发指南
根据步骤,下载示例代码,推送设置好,到Eclipse上运行,指南上讲的很详细了,不赘述。
整个流程走完之后按照指南上的步骤就可以收到测试的推送消息。
流程到这一步,推送示例是基本走完了,那么怎么用到项目中呢?
总结了以下几点,即可完成基本的推送
1.首先在我们的工程中新建一个推送包,专门用于百度推送,把libs文件夹中的推送库与示例代码中的三个类拷进来,只要这三个类即可,见下图
MyPushMessageReceiver类是我们要接收用于接收系统消息的广播接收者以保证PushService(我们的应用后台服务用于接收推送,下面讲解)正常运行
PushApplication是全局Application类
Utils类是工具类包括绑定标识在SharedPreference中的记录
2.第一部走完,下面继续配置
在AndroidManifast.xml文件中设置Application为PushApplication,如果有自己定义的Application类,那么让自己定义的类继承自PushApplication类
3.设置权限
4.在AndroidManifast.xml文件中添加三个Receiver与一个Service
这三个Receiver一个是我们刚刚拷过来的MyPushMessageReceiver声明,另外两个Receiver与Service是推送库里面的接收者与服务,代码直接拷过来即可
5.准备工作完成后,重要的一步就是绑定,在示例代码中我们点击“无账号绑定”或“百度帐号绑定”才能接收到推送消息,在我们的工程中同样需要绑定,我们在PushApplication的Oncrea()
方法中加上下面的代码完成绑定操作
其中“bind_flag”从Utils中可得到这个SharedPreference名称,存储了绑定的标识,上面的代码表示当没有绑定的时候执行绑定代码
“EOc7BaT2VWgtbbOQolPYHGjf”为你的apikey,在控制台创建工程的时候生成的。
这样就算完成了,到百度开放云推送页面发送推送消息试试把!
本文永久地址:http://blog.it985.com/2616.html
本文出自 IT985博客 ,转载时请注明出处及相应链接。
记录下,仅是推送入门
1.首先去百度开放云 http://developer.baidu.com/
选择云推送
然后选择开发指南
根据步骤,下载示例代码,推送设置好,到Eclipse上运行,指南上讲的很详细了,不赘述。
整个流程走完之后按照指南上的步骤就可以收到测试的推送消息。
流程到这一步,推送示例是基本走完了,那么怎么用到项目中呢?
总结了以下几点,即可完成基本的推送
1.首先在我们的工程中新建一个推送包,专门用于百度推送,把libs文件夹中的推送库与示例代码中的三个类拷进来,只要这三个类即可,见下图
MyPushMessageReceiver类是我们要接收用于接收系统消息的广播接收者以保证PushService(我们的应用后台服务用于接收推送,下面讲解)正常运行
PushApplication是全局Application类
Utils类是工具类包括绑定标识在SharedPreference中的记录
2.第一部走完,下面继续配置
在AndroidManifast.xml文件中设置Application为PushApplication,如果有自己定义的Application类,那么让自己定义的类继承自PushApplication类
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博客 ,转载时请注明出处及相应链接。
相关文章推荐
- Android xml资源文件中@、@android:type、@*、?、@+含义和区别
- android:ScrollView滑动到底部显示加载更多
- 转行自学android,Day5-saoga
- Android群英传笔记——第二章:Android开发工具新接触
- Android群英传笔记——第二章:Android开发工具新接触
- Android源码之策略模式
- android中View的绘制流程
- Java/Android依赖注入库
- 关于Java后台处理android上传图片的问题
- Android ROM开发(一)——Windows下Cygwin和Android_Kitchen厨房的安装
- Android ROM开发(一)——Windows下Cygwin和Android_Kitchen厨房的安装
- Android设置屏幕保持长亮
- 【Android】缩略图Thumbnails
- android csdn新闻客户端
- android的checkBox属性
- live555 for android 编译
- 2、Android Studio中Opencv测试
- 1、在Android Studio上配置OpenCV
- Android Studio入门之常见问题
- Androidx学习笔记(82)--- 内容提供者(ContentProvider)-自定义内容提供者