android客户端百度云推送的使用总结
来源:互联网 发布:定义数组长度的代码 编辑:程序博客网 时间:2024/06/05 16:04
1.在配置文件里application中添加的代码:
<!-- 此处Receiver名字修改为当前包名路径 -->
<receiver android:name="example.com.push.PushTestReceiver">
<intent-filter>
<!-- 接收push消息 -->
<actionandroid:name="com.baidu.android.pushservice.action.MESSAGE"/>
<!-- 接收bind、setTags等method的返回结果-->
<actionandroid:name="com.baidu.android.pushservice.action.RECEIVE"/>
<!-- 接收通知点击事件,和通知自定义内容 -->
<actionandroid:name="com.baidu.android.pushservice.action.notification.CLICK"/>
</intent-filter>
</receiver>
<!-- push service start -->
<!-- 用于接收系统消息以保证PushService正常运行 -->
<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"/>
<!-- 以下四项为可选的action声明,可大大提高service存活率和消息到达速度 -->
<actionandroid:name="android.intent.action.MEDIA_MOUNTED"/>
<action android:name="android.intent.action.USER_PRESENT"/>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
</intent-filter>
</receiver>
<!-- Push服务接收客户端发送的各种请求-->
<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>
<!-- 4.4版本新增的CommandService声明,提升小米和魅族手机上的实际推送到达率 -->
<service
android:name="com.baidu.android.pushservice.CommandService"
android:exported="true"
/>
<!-- push结束 -->
< !-- example.com.push为应用包名-->
<provider
android:name="com.baidu.android.pushservice.PushInfoProvider"
android:authorities="example.com.push.bdpush"
android:exported="true"
android:writePermission="baidu.push.permission.WRITE_PUSHINFOPROVIDER.example.com.push"/>
2.在配置文件里添加服务
<!-- Push service 运行需要的权限 -->
<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"/>
<!-- 富媒体需要声明的权限 -->
<uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"/>
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/>
3.在工作创建PushTestReceiver类
/**
* Created by qinghua on 2016/8/9.
*/
/**
* Push消息处理receiver。请编写您需要的回调函数, 一般来说: onBind是必须的,用来处理startWork返回值;
* onMessage用来接收透传消息; onSetTags、onDelTags、onListTags是tag相关操作的回调;
* onNotificationClicked在通知被点击时回调; onUnbind是stopWork接口的返回值回调
*
* 返回值中的errorCode,解释如下:
0 绑定成功
10001 当前网络不可用,请检查网络
10002 服务不可用,连接server失败
10003 服务不可用,503错误
10101 应用集成方式错误,请检查各项声明和权限
20001 未知错误
30600 服务内部错误
30601 非法函数请求,请检查您的请求内容
30602 请求参数错误,请检查您的参数
30603 非法构造请求,服务端验证失败
30605 请求的数据在服务端不存在
30608 绑定关系不存在或未找到
30609 一个百度账户绑定设备超出个数限制(多台设备登录同一个百度账户)
*
* 当您遇到以上返回错误时,如果解释不了您的问题,请用同一请求的返回值requestId和errorCode联系我们追查问题。
*
*/
public class PushTestReceiverextendsPushMessageReceiver {
@Override
public voidonBind(Context context,inti, String s, String s1, String s2, String s3) {
String responseString = "onBind errorCode="+ i +" appid="
+ s + " userId=" + s1 + " channelId="+ s2
+ " requestId=" + s3;
Log.e("xyz", responseString);
if(i==0)
{
Log.e("xyz","绑定成功");
}
}
@Override
public voidonUnbind(Context context,inti, String s) {
String responseString = "onUnbind errorCode="+ i
+ " requestId = " + s;
Log.d(TAG, responseString);
if (i == 0) {
// 解绑定成功
Log.d("xyz","解绑成功");
}
}
@Override
public voidonSetTags(Context context,inti, List<String> list, List<String> list1, String s) {
String responseString = "onSetTags errorCode="+ i
+ " sucessTags=" + list + " failTags=" + list1
+ " requestId=" + s;
Log.d("xyz", responseString);
}
@Override
public voidonDelTags(Context context,inti, List<String> list, List<String> list1, String s) {
String responseString = "onSetTags errorCode="+ i
+ " sucessTags=" + list + " failTags=" + list1
+ " requestId=" + s;
Log.d("xyz", responseString);
}
@Override
public voidonListTags(Context context,inti, List<String> list, String s) {
String responseString = "onListTags errorCode="+ i +" tags="
+ list;
Log.d(TAG, responseString);
}
@Override
public voidonMessage(Context context, String s, String s1) {
String messageString = "透传消息 message=\""+ s
+ "\" customContentString="+ s1;
Log.d("xyz", messageString);
}
@Override
public voidonNotificationClicked(Context context, String s, String s1, String s2) {
String notifyString = "onNotificationClicked title=\""+ s
+ "\" description=\""+ s1 + "\" customContent="
+ s2;
Log.d("xyz", notifyString);
}
@Override
public voidonNotificationArrived(Context context, String s, String s1, String s2) {
String notifyString = "onNotificationArrived title=\""+ s
+ "\" description=\""+ s1 + "\" customContent="
+ s2;
Log.d("xyz",notifyString);
}
}
4.在OnCreate函数中写入:
PushManager.startWork(MainActivity.this, PushConstants.LOGIN_TYPE_API_KEY,"api_key");
5.时刻关注sdk的更新,不然无法推送
- android客户端百度云推送的使用总结
- android客户端百度云推送的使用总结
- android客户端百度云推送的使用总结
- Android 百度推送使用总结
- Android 百度推送使用总结
- Android 推送消息的实现,使用百度云推送
- android开发(25) - 推送的实现,使用百度云推送
- android开发(25) - 推送的实现,使用百度云推送
- Android客户端之百度云推送
- android 使用百度云推送
- 推送的实现,使用百度云推送
- Android推送 利用REST API实现从客户端推送(百度云推送)
- Android推送 百度云推送
- Android推送 百度云推送
- Android百度云推送
- android 百度云推送
- Android 百度云推送
- Android百度云推送
- Android: WebView知识总结
- /lib64/libc.so.6 is not a symbolic link 解决方法
- 题目分析参考贺老师的答案————谁是小偷&&如何派任务
- 多项式加减乘求导(链表)(如果多项式不是升序的处理就太恶心了,所以是升序的,我就是这么懒。。。)
- Android开发规范(项目小组)
- android客户端百度云推送的使用总结
- socket套接字
- 使用Windows 高级防火墙 限制远程桌面连接入站IP地址
- csrfguard3.1学习笔记
- 网络编程(一)
- Apache HttpComponents学习笔记(二):HttpClient 接口
- MFC数字图像处理24位图转8位图 等四种图像色彩转换方式
- UITableView实现选择框和编辑状态时cell向右移动的自定义方法
- Android 如何有效的解决内存泄漏的问题