消息推送在Android的APP中很是經常使用。在此記錄一個可以輕鬆實現消息推送後臺的實現方法。html
首先在BMOB註冊帳號、應用啥的就很差說了。直接開始說怎麼實現。android
1、下載而後導入Bmob的jar包。web
2、獲取相關權限json
<permission android:protectionLevel="normal" android:name="cn.bmob.permission.push"></permission> <uses-permission android:name="cn.bmob.permission.push"/><!-- 添加自定義的權限--> <uses-permission android:name="android.permission.READ_LOGS" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
3、註冊相關的Service和Broadcast網絡
<service android:label="PushService" android:name="cn.bmob.push.lib.service.PushService" android:process="cn.bmob.push" android:permission="cn.bmob.permission.push" android:exported="true"> <intent-filter> <action android:name="cn.bmob.push.lib.service.PushService"/> </intent-filter> </service> <receiver android:name="cn.bmob.push.PushReceiver" > <intent-filter android:priority="2147483647" ><!--優先級加最高--> <!-- 系統啓動完成後會調用 --> <action android:name="android.intent.action.BOOT_COMPLETED" /> <!-- 解鎖完成後會調用 --> <action android:name="android.intent.action.USER_PRESENT" /> <!-- 監聽網絡連通性 --> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver>
4、註冊一個本身的廣播接收器用來處理推送來的消息 ide
public class MyPushReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if(intent.getAction().equals(PushConstants.ACTION_MESSAGE)){ Toast.makeText(context,intent.getStringExtra(PushConstants.EXTRA_PUSH_MESSAGE_STRING),Toast.LENGTH_SHORT).show(); } } }
<receiver android:name=".Receiver.MyPushReceiver"> <intent-filter> <action android:name="cn.bmob.push.action.MESSAGE"/> </intent-filter> </receiver>
5、啓動推送服務this
在你的應用程序主Activity中調用以下方法:spa
// 使用推送服務時的初始化操做 BmobInstallation.getCurrentInstallation(this).save(); // 啓動推送服務 BmobPush.startWork(this, "你的AppKey");
代碼中的"你的AppKey"就是你在Bmob後臺中建立的應用程序的AppKey,若是你不知道這是什麼,能夠參考快速入門文檔中的註冊Bmob帳號部分。.net
6、在web端進行推送設置code
在應用面板-->消息推送-->推送設置界面中填寫包名進行保存。
7、在web端推送消息
完成以上步驟後,你能夠運行應用程序,從web推送一條消息給客戶端。
值得注意的是,這個BMOB推來的其實仍是json格式的,得本身解析嘍~