华为PUSH SDK 接入方法
本文参考了华为推送平台官网及其Demo:http://developer.huawei.com/cn/consumer/wiki/index.php?title=接入说明
第一步
下载sdk,导入libs文件夹下,右键add as library。
第二步
将res目录中的values、layout、drawable等所有文件夹拷贝到自己的工程中。
第三步
将AndroidManifest.xml文件中的所有activity,receiver,service,meta-data拷 贝至自己的AndroidManifest.xml文件中。
第四步:
实现com. huawei.pushtest.receiver.MyReceiver,参看官方demo。
‘
public class MyReceiver extends PushEventReceiver {
/*
* 显示Push消息
*/
public void showPushMessage(int type, String msg) {
HuaWeiTestActivity mPustTestActivity = AppApplication.instance().getMainActivity();
if (mPustTestActivity != null) {
Handler handler = mPustTestActivity.getHandler();
if (handler != null) {
Message message = handler.obtainMessage();
message.what = type;
message.obj = msg;
handler.sendMessageDelayed(message, 1L);
}
}
}
@Override
public void onToken(Context context, String token, Bundle extras){
String belongId = extras.getString("belongId");
String content = "获取token和belongId成功,token = " + token + ",belongId = " + belongId;
Log.d(HuaWeiTestActivity.TAG, content);
showPushMessage(HuaWeiTestActivity.RECEIVE_TOKEN_MSG, content);
}
@Override
public boolean onPushMsg(Context context, byte[] msg, Bundle bundle) {
try {
String content = "收到一条Push消息: " + new String(msg, "UTF-8");
Log.d(HuaWeiTestActivity.TAG, content);
showPushMessage(HuaWeiTestActivity.RECEIVE_PUSH_MSG, content);
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
public void onEvent(Context context, Event event, Bundle extras) {
if (Event.NOTIFICATION_OPENED.equals(event) || Event.NOTIFICATION_CLICK_BTN.equals(event)) {
int notifyId = extras.getInt(BOUND_KEY.pushNotifyId, 0);
if (0 != notifyId) {
NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
manager.cancel(notifyId);
}
String content = "收到通知附加消息: " + extras.getString(BOUND_KEY.pushMsgKey);
Log.d(HuaWeiTestActivity.TAG, content);
showPushMessage(HuaWeiTestActivity.RECEIVE_NOTIFY_CLICK_MSG, content);
} else if (Event.PLUGINRSP.equals(event)) {
final int TYPE_LBS = 1;
final int TYPE_TAG = 2;
int reportType = extras.getInt(BOUND_KEY.PLUGINREPORTTYPE, -1);
boolean isSuccess = extras.getBoolean(BOUND_KEY.PLUGINREPORTRESULT, false);
String message = "";
if (TYPE_LBS == reportType) {
message = "LBS report result :";
} else if(TYPE_TAG == reportType) {
message = "TAG report result :";
}
Log.d(HuaWeiTestActivity.TAG, message + isSuccess);
showPushMessage(HuaWeiTestActivity.RECEIVE_TAG_LBS_MSG, message + isSuccess);
}
super.onEvent(context, event, extras);
}
}
’
第五步
在MyActivity的OnCreate()方法中添加 PushManager.requestToken(MyActivity.this);
第六步 测试
登录华为push后台,新建推送消息,如图。
华为PUSH SDK 接入方法的更多相关文章
- 统一SDK接入(U8SDK)——总体思路和架构
题记:很多做游戏开发的人,估计都或多或少地接过渠道SDK,什么UC,当乐,91,小米,360……据统计国内市场当前不下于100家渠道,还包括一些没有SDK的小渠道.每个渠道SDK接入的方法呢,多是大同 ...
- SDK接入(2)之Android Google Play内支付(in-app Billing)接入
SDK接入(2)之Android Google Play内支付(in-app Billing)接入 继上篇SDK接入(1)之Android Facebook SDK接入整理完Facebook接入流程之 ...
- SDK接入(U8SDK)——SDK抽象层的设计
上一篇文章,我们总体地分析并设计了一套高效的SDK接入方案,也罗列出这套方案,我们需要完成的工作.这里再罗列并回顾下: 1.统一抽象的SDK接入框架 2.各个SDK接入实现 3.一键打包工具 4.统一 ...
- 【Unity游戏开发】SDK接入与集成——小白入门篇
一.简介 通常一款游戏开发到后期,一般都会涉及到第三方SDK的接入与集成,对于不熟悉SDK接入的同学来说,接SDK每次都是云里雾里,而熟悉SDK接入的同学又觉得不断地重复做接入SDK工作这样没有成就感 ...
- 微信JS SDK接入的几点注意事项
微信JS SDK接入,主要可以先参考官网说明文档,总结起来有几个步骤: 1.绑定域名:先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”.备注:登录后可在“开发者中心”查看对 ...
- Android开发SDK接入机智云,智能家居实现APP远程控制多设备
代码地址如下:http://www.demodashi.com/demo/12847.html 一.前言. 此框架只用了一周星期做了出来,因为对机智云的框架比较熟悉了 !期间SDK初始化出了问题,去咨 ...
- Unity之SDK接入(OPPO)
简介:首先介绍一下,为什么博主要选择OPPO的SDK接入呢,因为OPPO的SDK接入是目前博主发现最简单的SDK.所以,博主选择OPPO,带领大家接SDK从入门到精通 工作准备: 1.环境配置(SDK ...
- day80:luffy:短信sdk接入&点击获取验证码&注册功能的实现&Celery实现短信发送功能
目录 1.短信sdk接入 2.前端点击获取验证码效果 3.注册后端接口实现 4.注册-前端 5.Celery 6.Celery完成短信发送功能 1.短信sdk接入 1.准备工作 1.下载云通讯相关的文 ...
- 手机游戏渠道SDK接入工具项目分享(二)万事开头难
一般接到任务后程序员们通常都开始着手进行技术调研了,但我这活是项目负责人.还有一大堆事情要先期准备,没人能帮忙. 一.人力配置 考虑的之前已经有一波人搞了大半年,但没有起色,先期也没有太大人力需求,所 ...
随机推荐
- Object-C,遍历目录
最近武汉连续下雨很多天,降温了2次,温度一下子由28度到14度,再到8度,手太冷了. 加上最近发生了一些比较棘手的家庭琐事,最近没心情继续学习Object-C. 后来,我想明白了,心情不好的时候,还是 ...
- eclipse 启动报错has value '1.7', but '1.8' is required
由于安装elasticsearch5.x版本时需要jdk8,所以在本机安装了,不过后来发现启动eclipse时报错: Error: Registry key 'Software\JavaSoft\Ja ...
- ecnu 1244
SERCOI 近期设计了一种积木游戏.每一个游戏者有N块编号依次为1 ,2,-,N的长方体积木. 对于每块积木,它的三条不同的边分别称为"a边"."b边"和&q ...
- 百度地图SDK for Android【Demo兴趣点搜索】
百度地图SDK为开发人员提供了便捷的检索服务. 今天我将为大家介绍Poi检索相关的内容. 首先,我们要构建一个最主要的地图应用.详细介绍请參考:百度地图SDK for Android[ ...
- MAC 文件加密
MAC 文件加密 (2011-10-08 00:08:52) 标签: 杂谈 分类: MAC技巧篇 我们都有一些私密的文件需要保存,在苹果操作系统下,如何为这些文件或文件夹设置密码呢? 利用系统自带的创 ...
- IIS 无法读取配置节"system.web.extensions",由于它缺少节声明
作者:jiankunking 出处:http://blog.csdn.net/jiankunking 今天在本地安装iis.搭建站点,应用程序的时候报错以下的错误: server错误 Internet ...
- Windows系统时间同步出错解决办法(w32tm /register按回车,可能是为了解决时间COM注册的问题)
有时候我们设置本地时间与Internet时间同步时,经常连接服务器time.windows.com超时,导致时间同步失败,解决办法如下: 利用快捷键"Win+R"调出运行框,输入: ...
- Git的日常处理流程
前提 本地有2个分支,一个是master,还有一个是local master 默认追踪origin/master local 通过git branch -u origin/master来映射 开发的时 ...
- Android真机调试访问本地服务器(localhost)的解决方案
Android系统把它自己作为了localhost!当连接localhost都是他自己啊.. 囧,在这里晕了好久才发现.. 网上介绍的都是模拟器连接本地服务器的,我试着把链接改为http://10.0 ...
- Installation from source on Windows 7 with Visual C++2012
在这部分说明里,你将会学习到在配备有Visual C++的Windows平台下从源码安装ViSP.下面的这些安装步骤已经在32位Windows系统,CMake3.1和Visual Studio 201 ...