本文参考了华为推送平台官网及其Demo:/cn/consumer/wiki/index.php?title=%E6%8E%A5%E5%85%A5%E8%AF%B4%E6%98%8E
第一步 #
下载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);}}}@Overridepublic 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);}@Overridepublic 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后台,新建推送消息,如图。