华为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接入工具项目分享(二)万事开头难
		一般接到任务后程序员们通常都开始着手进行技术调研了,但我这活是项目负责人.还有一大堆事情要先期准备,没人能帮忙. 一.人力配置 考虑的之前已经有一波人搞了大半年,但没有起色,先期也没有太大人力需求,所 ... 
随机推荐
- 今日SGU 6.5
			sgu 160 题意:给你n个数字 数字范围 1 到 m 问你从中取出任意数量的数字使得这些数字的积取模m最大 收获:dp,记录dp的路径 #include<bits/stdc++.h> ... 
- [HNOI2006]超级英雄(二分+网络流)
			[HNOI2006]超级英雄 题目描述 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的多少获得不同数目的奖品或奖金.主持人问题准备了若干道题目, ... 
- ArcGIS api for javascript——用缓存区查询地图
			描述 本例展示了如何在另外一个任务里使用一个任务的结果.单击地图查看被单击的点的1公里范围内的缓存(如果需要可以修改这个默认的缓存距离).也可以看缓存区的这些点的人口普查街区信息.单击一个点查看更多的 ... 
- rac重新启动遭遇ORA-01078、ORA-01565、ORA-17503、ORA-12547
			今天測试环境server重新启动导致一个节点集群无法重新启动,遭遇ORA-12547错误.详细例如以下: server重新启动后,rac1集群无法启动,rac2正常启动: [root@rac1 ~]# ... 
- Android旋转屏幕后国际化语言失效的解决的方法
			本文已同步至个人博客:liyuyu.cn 近期在项目中使用到了国际化多语言(英文+中文),但在使用时发现了一个问题.当屏幕旋转后.APP语言(中文)自己主动转换为了系统语言(英文).设置了Activi ... 
- cocos2d-x 显示触摸操作(显示水波点击效果,用于视频演示)
			昨天刚刚參加玩游戏设计大赛, 积累了一些东西. 接下去将会逐个分享出来. 首先是显示触摸操作. 由于要演示我们的作品.使用试玩过程中, 假设没办法显示我们的触摸操作(像录制视频一样, 点击了屏幕某点, ... 
- Intellij Idea创建的第一个JavaWeb程序
			第一个JavaWeb程序 1. 创建 2. 目录结构 src目录用于放java源文件,web目录用于放web资源,WEB-INF是Java web应用固定的存放配置及类库的目录,index.jsp是我 ... 
- Android使用token维持登陆状态的方法
			什么是token token(令牌)是一串唯一的字符串,通常由服务端生成,在注册完成时返回给客户端,用来标识此用户,客户端将此字符串存储在本地.在以后的网络请求时,客户端先查询本地的token,如果有 ... 
- js实现table排序(jQuery下的jquery.sortElements)
			项目中要实现table排序的功能. 网上有非常多解决方式,非常多都基于jQuery. jquery.tablesorter.大小17KB.只是他的首页在ie10下兼容性有点问题. DataTables ... 
- Android中SQLite应用具体解释
			如今的主流移动设备像Android.iPhone等都使用SQLite作为复杂数据的存储引擎,在我们为移动设备开发应用程序时,或许就要使用到SQLite来存储我们大量的数据,所以我们就须要掌握移动设备上 ... 
