您的位置:首页 > 其它

百度推送

2016-06-24 15:26 148 查看
1.把jar包和文件(如果libs没有其他的os资源文件,只需要拷入armeabi,否则请安需考取)拷到libs里

2.在注册清单中添加

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

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

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

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

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

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

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

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

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

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

        

注意:这里要改成自己的包名        

    <receiver android:name="com.example.tuidemo.MyPushMessageReceiver" >

            <intent-filter>

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

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

                <!-- 接收 bind、setTags 等 method 的返回结果 -->

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

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

            </intent-filter>

        </receiver>

        <!-- push service start -->

        <receiver

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

            android:process=":bdservice_v1" >

            <intent-filter>

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

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

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

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

                <!-- 以下四项为可选的 action 声明,可大大提高 service 存活率和消息到达速度 -->

                <action android:name="android.intent.action.MEDIA_MOUNTED" />

                <action android:name="android.intent.action.USER_PRESENT" />

                <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />

                <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />

            </intent-filter>

        </receiver>

        <!-- Push 服务接收客户端发送的各种请求 -->

        <receiver

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

            android:process=":bdservice_v1" >

            <intent-filter>

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

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

            </intent-filter>

            <intent-filter>

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

                <data android:scheme="package" />

            </intent-filter>

        </receiver>

        <!-- Push  服务 -->

        <!-- 注意:在 4.0 及以后的版本需加上如下所示的 intent-filter action -->

        <service

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

            android:exported="true"

            android:process=":bdservice_v1" >

            <intent-filter>

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

            </intent-filter>

        </service>

        <!-- 注意:在 4.4 及以后的版本需加上如下所示的 service -->

        <service

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

            android:exported="true" >

        </service>

3.把MyPushMessageReceiver.java复制到任意包下,包名就是第二布的包名

4.在任意界面利用代码启动活动

        //第三个参数为api-key值 必填

        PushManager.startWork(getApplicationContext(),

                PushConstants.LOGIN_TYPE_API_KEY, "3BDDf10B4ikviqeghTcfyhPB");

        Resources resource = this.getResources();

        String pkgName = this.getPackageName();

        

        CustomPushNotificationBuilder cBuilder = new CustomPushNotificationBuilder(

                resource.getIdentifier(

                        "notification_custom_builder", "layout", pkgName),

                resource.getIdentifier("notification_icon", "id", pkgName),

                resource.getIdentifier("notification_title", "id", pkgName),

                resource.getIdentifier("notification_text", "id", pkgName));

        cBuilder.setNotificationFlags(Notification.FLAG_AUTO_CANCEL);

        cBuilder.setNotificationDefaults(Notification.DEFAULT_VIBRATE);

        cBuilder.setStatusbarIcon(this.getApplicationInfo().icon);

        cBuilder.setLayoutDrawable(resource.getIdentifier(

                "simple_notification_icon", "drawable", pkgName));

        cBuilder.setNotificationSound(Uri.withAppendedPath(

                Audio.Media.INTERNAL_CONTENT_URI, "6").toString());

        // 推送高级设置,通知栏样式设置为下面的ID

        PushManager.setNotificationBuilder(this, 1, cBuilder);

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: