• 集成百度推送


    查看百度官方文档,下载好最新的sdk解压后,按要求放到项目中来,,的jar包还要右键 add lib,然后开始往manifest里面添加权限和服务等,

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
              package="com.example.administrator.wisdomkiosks">
        <!-- Push service 运行需要的权限 -->
        <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"/>
        <!-- 富媒体需要声明的权限 -->
        <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>
        <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"/>
        <uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/>
    
        <!-- 适配Android N系统必需的ContentProvider写权限声明,写权限包含应用包名-->
        <uses-permission android:name="baidu.push.permission.WRITE_PUSHINFOPROVIDER.com.example.administrator.wisdomkiosks"/>
        <permission
            android:name="baidu.push.permission.WRITE_PUSHINFOPROVIDER.com.example.administrator.wisdomkiosks"
            android:protectionLevel="signature">
        </permission>
    
    
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/Theme.AppCompat.NoActionBar">
    
            <!-- 在百度开发者中心查询应用的API Key -->
            <meta-data
                android:name="api_key"
                android:value="3kE3q1OCNpvRepRaCnrR0A3Q"/>
    
            <!-- push service start -->
            <!-- 用于接收系统消息以保证PushService正常运行 -->
            <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>
            <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版本新增的CommandService声明,提升小米和魅族手机上的实际推送到达率 -->
            <service
                android:name="com.baidu.android.pushservice.CommandService"
                android:exported="true"/>
    
            <!-- 适配Android N系统必需的ContentProvider声明,写权限包含应用包名-->
            <provider
                android:name="com.baidu.android.pushservice.PushInfoProvider"
                android:authorities="com.example.administrator.wisdomkiosks.bdpush"
                android:exported="true"
                android:protectionLevel="signature"
                android:writePermission="baidu.push.permission.WRITE_PUSHINFOPROVIDER.com.example.administrator.wisdomkiosks"/>
    
            <!-- push结束 -->
    
            <!-- 此处Receiver名字修改为当前包名路径 -->
            <receiver android:name="com.example.administrator.wisdomkiosks.MyPushReceiver">
                <intent-filter>
                    <action android:name="com.baidu.android.pushservice.action.notification.SHOW"/>
                    <!-- 接收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>
    
    
            <activity android:name="com.example.administrator.wisdomkiosks.MainActivity">
    
                <intent-filter>
                    <action android:name="android.intent.action.MAIN"/>
    
                    <category android:name="android.intent.category.LAUNCHER"/>
                </intent-filter>
            </activity>
    
        </application>
    
    </manifest>

    注意除了权限以外,其他所有的服务等都要放到application标签里面去才可以。

    自己新建 MyPushReceiverjicheng继承PushMessageReceiver,并重写父类所有方法 ,用来收云推送回调信息和推送到达信息。

    到此,继承基本完成,运行项目,在消息中

    看到这样的信息就是成功了,可以去试试做推送了。

  • 相关阅读:
    asp.net mvc 中直接访问静态页面
    (转)asp.net文本编辑器(FCKeditor)
    (转)后缀为 ashx 与 axd 的文件有什么区别
    最全的ASP.NET开源CMS汇总
    打造属于自己的设计模式
    分布式文件系统应用(上篇 理论)
    结合项目实例 回顾传统设计模式(一)策略模式
    动态方法与动态代理(上篇)
    分布式文件系统应用(下篇 实践)
    关于领域驱动设计与面向数据库设计
  • 原文地址:https://www.cnblogs.com/laoyimou/p/7371480.html
Copyright © 2020-2023  润新知