zoukankan      html  css  js  c++  java
  • 消息推送(BMOB实现)

      消息推送在Android的APP中非常常用。在此记录一个能够轻松实现消息推送后台的实现方法。

      首先在BMOB注册账号、应用啥的就不好说了。直接开始说怎么实现。

      一、下载然后导入Bmob的jar包。

      二、获取相关权限

        <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" />

      三、注册相关的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>

      四、注册一个自己的广播接收器用来处理推送来的消息  

    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>

    五、启动推送服务

    在你的应用程序主Activity中调用如下方法:

        // 使用推送服务时的初始化操作
        BmobInstallation.getCurrentInstallation(this).save();
        // 启动推送服务
        BmobPush.startWork(this, "你的AppKey");

    代码中的"你的AppKey"就是你在Bmob后台中创建的应用程序的AppKey,如果你不知道这是什么,可以参考快速入门文档中的注册Bmob账号部分。

    六、在web端进行推送设置

    在应用面板-->消息推送-->推送设置界面中填写包名进行保存。 

    七、在web端推送消息

    完成以上步骤后,你可以运行应用程序,从web推送一条消息给客户端。 

      

      值得注意的是,这个BMOB推来的其实还是json格式的,得自己解析喽~

  • 相关阅读:
    .Net反编译软件
    Windows下Node.js安装及环境配置
    Servlet处理日期
    Servlet的文件上传
    Eclipse错误:Syntax error on tokens, delete these tokens问题解决
    Servlet中操作数据库
    Servlet的会话(Session)跟踪
    Servlet的Cookies处理
    Servlet的异常处理
    Servlet的过滤器(Filter)
  • 原文地址:https://www.cnblogs.com/fishbone-lsy/p/4364296.html
Copyright © 2011-2022 走看看