赞
踩
第一步:首先下载下来百度云推送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了,以上就是集成百度云推送的步骤,如有疑问请留言。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。