第一步:首先下载下来百度云推送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了,以上就是集成百度云推送的步骤,如有疑问请留言。