本文共 3452 字,大约阅读时间需要 11 分钟。
使用腾讯信鸽,可以帮助我们实现下发通知,实行一些简单的推送,下面就来讲解一下如何通过信鸽来实现简单的推送。
在Androidmanifeast文件中将上述添加进去,在这之前,我们需要先在信鸽官网上注册一个app获得相应的key和id然后将上述的value改为自己的value。同时还需要在本地建立一个接收消息的receiver来实现对消息的接收
package com.example.iclubhelper.receiver;import org.json.JSONException;import org.json.JSONObject;import android.content.ContentValues;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import com.example.iclubhelper.sqllite.DBOpenHelper;import com.tencent.android.tpush.XGPushBaseReceiver;import com.tencent.android.tpush.XGPushClickedResult;import com.tencent.android.tpush.XGPushRegisterResult;import com.tencent.android.tpush.XGPushShowedResult;import com.tencent.android.tpush.XGPushTextMessage;public class MessageReceiver extends XGPushBaseReceiver{ private SQLiteDatabase db; @Override public void onDeleteTagResult(Context arg0, int arg1, String arg2) { // TODO Auto-generated method stub } @Override public void onNotifactionClickedResult(Context arg0, XGPushClickedResult arg1) { // TODO Auto-generated method stub }
//在该方法中实现对于通知内容的获取 @Override public void onNotifactionShowedResult(Context context, XGPushShowedResult notifiShowRlt) { // TODO Auto-generated method stub if(context == null||notifiShowRlt == null){ return; } db = new DBOpenHelper(context).getWritableDatabase(); ContentValues values = new ContentValues(); values.put("title", notifiShowRlt.getTitle()); values.put("content", notifiShowRlt.getContent()); String customContent = notifiShowRlt.getCustomContent(); if (customContent !=""||customContent.length()!=0){ try { JSONObject js = new JSONObject(customContent); String time = js.getString("date"); String nid = js.getString("nid"); values.put("time", time); values.put("nid", nid); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } db.insert("message", null, values); db.close(); } @Override public void onRegisterResult(Context arg0, int arg1, XGPushRegisterResult arg2) { // TODO Auto-generated method stub } @Override public void onSetTagResult(Context arg0, int arg1, String arg2) { // TODO Auto-generated method stub } @Override public void onTextMessage(Context arg0, XGPushTextMessage arg1) { // TODO Auto-generated method stub } @Override public void onUnregisterResult(Context arg0, int arg1) { // TODO Auto-generated method stub } /** * @param args */ }上述代码为本人的一个代码示例,是将从信鸽推送过来的消息加载进数据库,然后保存在本地,为了使信鸽推送的内容变得更加多样化,我们可以通过自定义customContent来进行自定义,将其作为一个json实体来进行解析,这样便可以将更多地内容加到里面,从而使通知的内容变得更加多样化。
将这些配置好之后,我们还是无法获得从网络上推送过来的消息的,因为我们还没有进行信鸽的注册。
XGPushManager.registerPush(this);信鸽注册好之后我们就可以接收推送过来的通知了。
转载地址:http://sbtmi.baihongyu.com/