百度推送步骤

1.先在项目一文件夹中找到PushDemo   将文件中的MyPushMessageReceiver.Java和Utils.java文件粘贴到工程中。把包名修改为实际的包名类名

2.将PushDemo  中的libs文件夹复制到工程根目录下

3.在Application或者Application的子类中  初始化数据 并在onCreate()方法中调用此方法

public class Application_demo extends Application{
    
    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        data();
    }

    public void data(){
        Resources resource = this.getResources();
           String pkgName = this.getPackageName();
           PushManager.startWork(getApplicationContext(), PushConstants.LOGIN_TYPE_API_KEY,
                   Utils.getMetaValue(this, "api_key"));
           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());
           PushManager.setNotificationBuilder(this, 1, cBuilder);
   }



4.在项目清单配置文件中,添加如下权限等

 <!-- 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.ACCESS_DOWNLOAD_MANAGER" />
    <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
    <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.EXPAND_STATUS_BAR" />



5.    先粘贴此代码。也是在项目清单中。在将代码中的包名修改为实际的包名。(之前粘贴的两个类的全路径)。
     最后,将下方的key修改为在百度云推送中创建的应用的key即可。注意:在百度云推送中,创建应用时,包名为:项目清单中Application中的包名。

   <application
        android:allowBackup="true"
        android:name="com.bwie.app.Application_demo"    ========Application中的包名
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
      <!-- push应用定义消息receiver声明 -->
        <receiver android:name="com.bwie.test.MyPushMessageReceiver" >        ===========MyPushMessageReceiver中的包名
            <intent-filter>

                <!-- 接收push消息 -->
                <action android:name="com.baidu.android.pushservice.action.MESSAGE" />
                <!-- 接收bind,unbind,fetch,delete等反馈消息 -->
                <action android:name="com.baidu.android.pushservice.action.RECEIVE" />
                <action android: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>
                <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>
        <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>
        <service
            android:name="com.baidu.android.pushservice.CommandService"
            android:exported="true" />

        <!-- 在百度开发者中心查询应用的API Key -->
        <meta-data
            android:name="api_key"
            android:value="HNOZcWt6aVqrjGcbsOUTYjoB" />    
    </application>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值