Android之百度云管家如何推送推送(一)如何导入手机apk

百度云推送,显示推送成功,但是手机接收不到消息通知
[问题点数:80分,结帖人p]
本版专家分:475
结帖率 66.67%
CSDN今日推荐
本版专家分:475
结帖率 66.67%
本版专家分:50322
优秀大版主2015年8月优秀大版主2015年9月优秀大版主
2015年2月 Java大版内专家分月排行榜第二2014年3月 Java大版内专家分月排行榜第二
2014年9月 Java大版内专家分月排行榜第三2014年6月 Java大版内专家分月排行榜第三2014年2月 Java大版内专家分月排行榜第三2013年11月 Java大版内专家分月排行榜第三2013年10月 Java大版内专家分月排行榜第三
本版专家分:475
结帖率 66.67%
本版专家分:62350
2013年11月 总版技术专家分月排行榜第二
2013年10月 总版技术专家分月排行榜第三
2014年3月 Java大版内专家分月排行榜第一2014年1月 Java大版内专家分月排行榜第一2013年12月 Java大版内专家分月排行榜第一2013年11月 Java大版内专家分月排行榜第一2013年10月 Java大版内专家分月排行榜第一
2014年5月 Java大版内专家分月排行榜第二2014年2月 Java大版内专家分月排行榜第二
本版专家分:475
结帖率 66.67%
本版专家分:0
本版专家分:7
本版专家分:0
本版专家分:0
本版专家分:0
本版专家分:0
本版专家分:0
本版专家分:0
本版专家分:0
本版专家分:0
匿名用户不能发表回复!|
CSDN今日推荐android服务器如何向百度云推送发请求_百度知道
android服务器如何向百度云推送发请求
我有更好的答案
由于Android对于APN的网络API没有公开,不过我们可以阅读源代码,然后进行数 据库操作,系统会自动监听数据库的变化,从而实现开启或者关闭APN。 大家可以研究一下frameworks/base/core/java/android/provider /Telephony.java这个类, 比较重要的就是 URI 和数据库字段: content://telephony/carriers 字段可以在Telephony.java中找到。 其实原理很简单 : 1 、 当开启APN的时候,设置一个正确的移动或者联通的APN 2、 关闭的时候设置一个错误APN就会自动关闭网络 !
为您推荐:
其他类似问题
云推送的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。百度云推送-控制台
您的账号尚未登录,请先
@2016 Baidu | 京ICP证030173号消息推送之百度云推送Android集成与使用方法 - 李sir - 博客园
这两天由于项目需要,研究了一下百度云推送,本来这事没什么多大工作量的,但注册百度开发者账户创建应用令我蛋疼菊紧了好一阵,这些东西做了对技术没啥提升,不做又不行,必经之路。好在我耗费了N多个毫毫秒秒后稀里哗啦的闯了过来。
在此先吐槽一下。这个云推送虽然没多少东西,但对于初次接触的人来说还是有点不利索的,所以肯定要看官方文档,只是不知是百度哪个哥们做的文档,pdf做的也太不地体贴了:英文字符里面竟然有中文空格,复制到自己的项目中发现江山一片红,娘的,这猛一看还不一定能看得出来到底是哪里出了错。
for instance:
what's wrong? ....
现在或许能一眼望穿bug,但当血色迷蒙的时候是相当有蛋碎的快感的。
下面开始集成。
先介绍使用方法以便爽一把
一:使用方法
1.打开管理控制台,找到自己创建的工程
http://developer.baidu.com/console#app/project
2:选择云推送---通知:
注:用户范围:
所有人是向所有安装这一app的用户发送通知
广播组可根据标签向特定用户发送通知
3:手机界面:
二:集成方法:
1.清单文件的配置
①:加权限
&!-- 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" /&
&!-- Push service 运行需要的权限 --&
②:注册消息接收的receiver
&receiver android:name="com.zhuim.sgghealth.MyPushMessageReceiver" &
&intent-filter&
&!-- 接收push消息 --&
&action android:name="com.baidu.android.pushservice.action.MESSAGE" /&
&!-- 接收bind、setTags等method的返回结果 --&
&action android:name="com.baidu.android.pushservice.action.RECEIVE" /&
&!-- 可选。接受通知点击事件,和通知自定义内容 --&
&action android:name="com.baidu.android.pushservice.action.notification.CLICK" /&
&/intent-filter&
&/receiver&
&!-- 用于接收系统消息以保证PushService正常运行 --&
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&
&!-- Push服务接收客户端发送的各种请求 --&
&!-- 注意:RegistrationReceiver 在2.1.1及之前版本有拼写失误,为RegistratonReceiver ,用新版本SDK时请更改为如下代码 --&
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&
&!-- Push 服务 --&
android:name="com.baidu.android.pushservice.PushService"
android:exported="true"
android:process=":bdservice_v1" /&
&!-- Menifest.xml增加pushservice配置 --&
2:代码文件:
①:让推送功能起作用
在自己的主Activity中加入下面代码,让推送功能开始工作:
// 以apikey的方式登录,一般放在主Activity的onCreate中
PushManager.startWork(getApplicationContext(),
PushConstants.LOGIN_TYPE_API_KEY, "bYI*********************zLi3qLk");
其中的apikey是自己工程的创建时赋予的:
②:继承FrontiaApplication类
public class MyApp extends FrontiaApplication {
public List&Activity& activitiesL
public void onCreate() {
// TODO Auto-generated method stub
activitiesList = new ArrayList&Activity&();
super.onCreate();
③:自定义广播接收者:
public class MyPushMessageReceiver extends BroadcastReceiver {
public void onReceive(final Context context, Intent intent) {
if (intent.getAction().equals(PushConstants.ACTION_MESSAGE)) {
// 获取消息内容
String message = intent.getExtras().getString(
PushConstants.EXTRA_PUSH_MESSAGE_STRING);
} else if (intent.getAction().equals(PushConstants.ACTION_RECEIVE)) {
// 处理绑定等方法的返回数据
// PushManager.startWork()的返回值通过PushConstants.METHOD_BIND得到
final String method = intent.getStringExtra(PushConstants.EXTRA_METHOD);
// 方法返回错误码。若绑定返回错误(非0),则应用将不能正常接收消息。
// 绑定失败的原因有多种,如网络原因,或access token过期。
// 请不要在出错时进行简单的startWork调用,这有可能导致死循环。
// 可以通过限制重试次数,或者在其他时机重新调用来解决。
int errorCode = intent.getIntExtra(PushConstants.EXTRA_ERROR_CODE,PushConstants.ERROR_SUCCESS);
String content = "";
if (intent.getByteArrayExtra(PushConstants.EXTRA_CONTENT) != null)
content = new String(intent.getByteArrayExtra(PushConstants.EXTRA_CONTENT));
// 用户在此自定义处理消息:TODO Something
// 通知用户点击事件处理
} else if (intent.getAction().equals(
PushConstants.ACTION_RECEIVER_NOTIFICATION_CLICK)) {
String title = intent.getStringExtra(PushConstants.EXTRA_NOTIFICATION_TITLE);
String content = intent.getStringExtra(PushConstants.EXTRA_NOTIFICATION_CONTENT);
// 用户在此自定义处理点击事件:TODO Something
④:导入百度云推送所需要的jar包及so文件:
libs下导入pushservice-3.2.0.jar并add to build path
libs/armeabi下导入libbdpush_V1_0.so凤翱翔于千仞兮,非梧不栖 -----------------------
消息推送之百度云推送Android集成与使用方法
这两天由于项目需要,研究了一下百度云推送,本来这事没什么多大工作量的,但注册百度开发者账户创建应用令我蛋疼菊紧了好一阵,这些东西做了对技术没啥提升,不做又不行,必经之路。好在我耗费了N多个毫毫秒秒后稀里哗啦的闯了过来。
在此先吐槽一下。这个云推送虽然没多少东西,但对于初次接触的人来说还是有点不利索的,所以肯定要看官方文档,只是不知是百度哪个哥们做的文档,pdf做的也太不地体贴了:英文字符里面竟然有中文空格,复制到自己的项目中发现江山一片红,娘的,这猛一看还不一定能看得出来到底是哪里出了错。
for instance:
what's wrong? ....
现在或许能一眼望穿bug,但当血色迷蒙的时候是相当有蛋碎的快感的。
下面开始集成。
先介绍使用方法以便爽一把
一:使用方法
1.打开管理控制台,找到自己创建的工程
http://developer.baidu.com/console#app/project
2:选择云推送---通知:
注:用户范围:
所有人是向所有安装这一app的用户发送通知
广播组可根据标签向特定用户发送通知
3:手机界面:
二:集成方法:
1.清单文件的配置
①:加权限
&!-- 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" /&
&!-- Push service 运行需要的权限 --&
②:注册消息接收的
&receiver android:name="com.zhuim.sgghealth.MyPushMessageReceiver" &
&intent-filter&
&!-- 接收push消息 --&
&action android:name="com.baidu.android.pushservice.action.MESSAGE" /&
&!-- 接收bind、setTags等method的返回结果 --&
&action android:name="com.baidu.android.pushservice.action.RECEIVE" /&
&!-- 可选。接受通知点击事件,和通知自定义内容 --&
&action android:name="com.baidu.android.pushservice.action.notification.CLICK" /&
&/intent-filter&
&/receiver&
&!-- 用于接收系统消息以保证PushService正常运行 --&
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&
&!-- Push服务接收客户端发送的各种请求 --&
&!-- 注意:RegistrationReceiver 在2.1.1及之前版本有拼写失误,为RegistratonReceiver ,用新版本SDK时请更改为如下代码 --&
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&
&!-- Push 服务 --&
android:name="com.baidu.android.pushservice.PushService"
android:exported="true"
android:process=":bdservice_v1" /&
&!-- AndroidMenifest.xml增加pushservice配置 --&
2:代码文件:
①:让推送功能起作用
在自己的主Activity中加入下面代码,让推送功能开始工作:
// 以apikey的方式登录,一般放在主Activity的onCreate中
PushManager.startWork(getApplicationContext(),
PushConstants.LOGIN_TYPE_API_KEY, "bYI*********************zLi3qLk");
其中的apikey是自己工程的创建时赋予的:
②:继承FrontiaApplication类
public class MyApp extends FrontiaApplication {
public List&Activity& activitiesList;
public void onCreate() {
// TODO Auto-generated method stub
activitiesList = new ArrayList&Activity&();
super.onCreate();
③:自定义广播接收者:
public class MyPushMessageReceiver extends BroadcastReceiver {
public void onReceive(final Context context, Intent intent) {
if (intent.getAction().equals(PushConstants.ACTION_MESSAGE)) {
// 获取消息内容
String message = intent.getExtras().getString(
PushConstants.EXTRA_PUSH_MESSAGE_STRING);
} else if (intent.getAction().equals(PushConstants.ACTION_RECEIVE)) {
// 处理绑定等方法的返回数据
// PushManager.startWork()的返回值通过PushConstants.METHOD_BIND得到
final String method = intent.getStringExtra(PushConstants.EXTRA_METHOD);
// 方法返回错误码。若绑定返回错误(非0),则应用将不能正常接收消息。
// 绑定失败的原因有多种,如网络原因,或access token过期。
// 请不要在出错时进行简单的startWork调用,这有可能导致死循环。
// 可以通过限制重试次数,或者在其他时机重新调用来解决。
int errorCode = intent.getIntExtra(PushConstants.EXTRA_ERROR_CODE,PushConstants.ERROR_SUCCESS);
String content = "";
if (intent.getByteArrayExtra(PushConstants.EXTRA_CONTENT) != null)
content = new String(intent.getByteArrayExtra(PushConstants.EXTRA_CONTENT));
// 用户在此自定义处理消息:TODO Something
// 通知用户点击事件处理
} else if (intent.getAction().equals(
PushConstants.ACTION_RECEIVER_NOTIFICATION_CLICK)) {
String title = intent.getStringExtra(PushConstants.EXTRA_NOTIFICATION_TITLE);
String content = intent.getStringExtra(PushConstants.EXTRA_NOTIFICATION_CONTENT);
// 用户在此自定义处理点击事件:TODO Something
④:导入百度云推送所需要的包及文件:
libs下导入pushservice-3.2.0.jar并add to build path
libs/armeabi下导入libbdpush_V1_0.so
没有更多推荐了,

我要回帖

更多关于 友盟消息推送导入push 的文章

 

随机推荐