本文參考了華爲推送平臺官網及其Demo:http://developer.huawei.com/cn/consumer/wiki/index.php?title=%E6%8E%A5%E5%85%A5%E8%AF%B4%E6%98%8Ephp
下載sdk,導入libs文件夾下,右鍵add as library。ide
將res目錄中的values、layout、drawable等全部文件夾拷貝到本身的工程中。測試
將AndroidManifest.xml文件中的全部activity,receiver,service,meta-data拷 貝至本身的AndroidManifest.xml文件中。this
實現com. huawei.pushtest.receiver.MyReceiver,參看官方demo。
‘
public class MyReceiver extends PushEventReceiver {code
/* * 顯示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); }
}
’xml
在MyActivity的OnCreate()方法中添加 PushManager.requestToken(MyActivity.this);token
登陸華爲push後臺,新建推送消息,如圖。
get