安卓在AndroidStudio中集成百度云推送(改良版)

来源:互联网 发布:java软件理论基础 编辑:程序博客网 时间:2024/04/30 01:53

第一步:首先下载下来百度云推送Demo。

第二步:结合百度云推送文档中心→客户端SDK文档→Android  SDK文档。

第三步:只需要导入Demo中的MyPushMessageReceiver类,Utils类就OK了,实际上Utils类可有可无。→(MyPushMessageReceiver类会飘红,是由于没有PushDemoActivity,去掉即可。

第四步:导入包

其中前七个包最好放在src/main/jniLibs下。pushservice-5.0.0.66.jar直接放在libs下即可。

第五步:启动云推送,官方建议放在MainActivity中,我个人认为放在Application中,代码如下

/** * Created by lenovo on 2016/8/24. */public class App extends Application{    @Override    public void onCreate() {        super.onCreate();        PushManager.startWork(getApplicationContext(), PushConstants.LOGIN_TYPE_API_KEY,"FRVdGdRwuO51BKL7WmboGSVa");    }}
第六步:加入需要的权限

<!-- 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" />
第七步:加入Push需要service,meta-data,receiver(这一快需要注意的是以下代码飘红的区域,要改成自己的包名即可)。

<!-- push应用定义消息receiver声明 -->        <receiver android:name="com.bwie.test.baiduyunpush.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="<span style="color:#ff0000;">com.baidu.android.pushservice.PushServiceReceiver</span>"            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="FRVdGdRwuO51BKL7WmboGSVa" />
百度云推送集成就OK了,以上就是集成百度云推送的步骤,如有疑问请留言。


1 0
原创粉丝点击