从一开始的完全不懂,到现在慢慢懂了点什么!查啊查~。
从我开始入手说起吧!首先可以先去官方网站看文档并且下载Demo。配置相应的apikey。我在配置Demo时就碰到问题了,没有gen目录。我查了下,把torget改成模拟器使用的版本。就会出现gen目录了,然后发现每个类都有报错,点进去看发现是所有的android包都没导入,所以要每个类都要Import导入相应的android包。这些做完后,最后在推送平台中创建的android项目应用配置选项中的apikey的那一串字母拷贝到Demo中的清单文件中,在清单文件中的最后一行有英文说明,把说明文字替换成apikey就可以运行了。
这里只是说下怎么配置运行官方的Demo。至于在推送平台注册以及申请应用项目可以到这个网址去,也就是官网 http://push.baidu.com/doc/android/api
接下来就是怎么把百度推送集成到自己项目中应用。
我就只是新建个android项目,hello world!什么都改动过。接下来就是把SDK下的libs中的jar包跟so文件拷贝到自己项目的libs文件夹内,或者直接把libs文件夹覆盖过来也行。如果有其它的jar包的话就要另外再导入了,最后是把导入的jar包 add build path 下。在自己项目中要新建个类继承PushMessageReceiver。并且实现该类的方法,在清单文件中要记得注册receiver,并且添加相应的权限。

<!-- 此处Receiver名字修改为当前包名路径 --><receiver android:name="com.*.*.PushTestReceiver">    <intent-filter>        <!-- 接收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>

这是文档说明。另外还有其他的权限也要添加进去,没必要再做修改,当然在官方文档里也有。

<!-- 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" /><!-- 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" /><!-- push结束 -->

在主Activity中的onCreate函数中添加PushManager.startWork()方法。启动推送功能。
这里的apikey可以直接添加到PushManager.startWork()方法的第二个参数中。就可以运行了。
其实就这么简单也没多难的感觉。不过我在集成时还是有出现一些问题。查查。问问。再自己理解,一般来说都能解决掉。

更多相关文章

  1. Android读取工程内嵌资源文件的两种方法
  2. Android 实际项目架构提炼开篇一
  3. Android 共享内存实现跨进程大文件传输(设计思路和Demo实现绕过B
  4. Android旅游APP类项目源代码
  5. Git新手入门与上传项目到远程仓库GitHub
  6. [置顶] ADT版本号超过17后,所遇到的问题,如导入项目没有Android De

随机推荐

  1. Android(安卓)adb.exe程序启动不起来 具
  2. activity状态的保存和保持(onRetainNonCo
  3. 解读2015之Android篇:横向扩张、平稳发展
  4. Android 自定义AlertDialog提交表单
  5. Android开发中Handler的经典总结
  6. 【ALearning】第一章 Android概述
  7. Android平台开发-Bluez function porting
  8. Kernel.org 被黑,获取 Android 源码方法一
  9. cocos2d-x C++通知Android更新UI
  10. Android选项菜单和上下文菜单解析