安卓客户端加入百度推送的方法

来源:互联网 发布:java web出卷考试系统 编辑:程序博客网 时间:2024/05/21 08:36

最近在做一款叫做 盯盯工作的软件,需要用到推送服务,下来把安卓客户端加入百度推送的方法给大家分享一下:

 

百度推送有推送通知  推送消息  推送富媒体三种类型,我们用到的是推送消息类型。

下面说一下加入百度推送的方法:

1,你需要有一个百度账号,进入网站:http://developer.baidu.com/services   点击管理控制台----开发者服务管理,新创建一个工程, 系统会生成API Key和Secret Key,记下这两个key.

2, 在这里 http://developer.baidu.com/wiki/index.php?title=docs/cplat/push/sdk/clientsdk

   下载Android 平台的客户端SDK。

3,将SDK里面的lib库文件复制到我们的安卓工程lib 文件夹里面去。

4,在Application  oncreat 的时候FrontiaApplication.initFrontiaApplication(this);

5,在AndroidManifest.xml中加入百度云推送功能所需权限:

    <uses-permissionandroid:name="android.permission.RECEIVE_BOOT_COMPLETED" />

    <uses-permissionandroid:name="android.permission.WRITE_SETTINGS" />

    <uses-permissionandroid:name="android.permission.DISABLE_KEYGUARD" />

  

加入一些声明:

        <!--baidupush -->

        <meta-data

            android:name="api_key"

            android:value="gXtNRzekLd3o6qUsGkaxxxx"/>

     (填写前面提到的 API Key)

 

       <!-- push应用定义消息receiver声明-->

        <receiverandroid:name="com.mlp.push.example.MyPushMessageReceiver">

            <intent-filter>

                <!-- 接收push消息-->

                <actionandroid:name="com.baidu.android.pushservice.action.MESSAGE" />

                <!-- 接收bind,unbind,fetch,delete等反馈消息-->

                <actionandroid:name="com.baidu.android.pushservice.action.RECEIVE" />

                <actionandroid:name="com.baidu.android.pushservice.action.notification.CLICK"/>

            </intent-filter>

        </receiver>

       

        <!-- push必须的receviver和service声明-->

        <receiver android:name="com.baidu.android.pushservice.PushServiceReceiver"

           android:process=":bdservice_v1">

            <intent-filter>

                <actionandroid:name="android.intent.action.BOOT_COMPLETED" />

                <actionandroid:name="android.net.conn.CONNECTIVITY_CHANGE" />

                <actionandroid:name="com.baidu.android.pushservice.action.notification.SHOW"/>

                <actionandroid:name="com.baidu.android.pushservice.action.media.CLICK" />

            </intent-filter>

        </receiver>

        <receiverandroid:name="com.baidu.android.pushservice.RegistrationReceiver"

           android:process=":bdservice_v1">

            <intent-filter>

                <actionandroid:name="com.baidu.android.pushservice.action.METHOD" />

                <actionandroid:name="com.baidu.android.pushservice.action.BIND_SYNC" />

            </intent-filter>

            <intent-filter>

                <actionandroid:name="android.intent.action.PACKAGE_REMOVED"/>

                <data android:scheme="package"/>

            </intent-filter>                  

        </receiver>

        <service

           android:name="com.baidu.android.pushservice.PushService"

            android:exported="true"

            android:process=":bdservice_v1"  >

            <intent-filter>

                <actionandroid:name="com.baidu.android.pushservice.action.PUSH_SERVICE"/>

            </intent-filter>

        </service>

        <!-- push结束-->

 

6,  在主activity 中 启动推送

        if (!Utils.hasBind(getApplicationContext())){

           PushManager.startWork(getApplicationContext(),

                   PushConstants.LOGIN_TYPE_API_KEY,

                    Utils.getMetaValue(this,"api_key"));

        }

 

7,修改百度给的MyPushMessageReceiver.java 文件,进行我们一些自定义的处理,我们目前的处理主要是 在 onMessage中收到消息后,在系统状态栏里面加入提醒以及点击提醒后的处理。

 

最后:

需要说明的是,在我们的服务端也要相应的加入百度推送的东西。

不过在服务端没有加好之前,我们也可以用百度的开发者管理平台进行客户端代码的测试。

0 0
原创粉丝点击