【转】:http://wyong.blog.51cto.com/1115465/1402842

两天在研究推送的问题,后来确定了用极光推送,本人将整个过程整理一下:
1、到极光官网注册账号:https://www.jpush.cn/
2、创建应用,按照要求填写你的应用名称,包名提交
3、下载案例来玩玩,一般情况测试是能收到信息的
4、集成到自己的项目中,按照官网的集成http://docs.jpush.cn/pages/viewpage.action?pageId=557214
5、集成时将注意的要点,官网上也有说,但是我再强调一下,因为本人在集成的时候没注意导致推送失败:
(1)注意两个权限的包名填写,我们有可能直接用案例上的拷贝到自己的manifest中时没有替换掉包名,切记,要替换成自己的项目的包名(红色部分):

<permission android:name="com.xxx.permission.JPUSH_MESSAGE"
android:protectionLevel="signature" />

<!-- Required 一些系统要求的权限,如访问网络等-->
<uses-permission android:name="com.xxx.permission.JPUSH_MESSAGE" />
(2)核心服务处的包名:
<!-- Required SDK核心功能-->
<receiver
android:name="cn.jpush.android.service.PushReceiver"
android:enabled="true" >
<intent-filter android:priority="1000">
<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />
<!--Required 显示通知栏 -->
<category android:name="com.xxx" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.USER_PRESENT" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
<!-- Optional -->
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
</intent-filter>

</receiver>
(3)按照官网的集成步骤去做就可以了。
6、要想自己打开信息查看,自己要写一个广播接收信息,判断这句,将bundle带到指定的Activity显示即可:
Bundle bundle = intent.getExtras();
if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) {
JPushInterface.reportNotificationOpened(context, bundle.getString(JPushInterface.EXTRA_MSG_ID));

//打开自定义的Activity
Intent i = new Intent(context, JPushDetailActivity.class);
i.putExtras(bundle);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);}
经过以上的步骤,android客户端基本OK

最新文章

  1. HTML5&amp;CSS3练习笔记(二)
  2. 根据UserAgent 获取操作系统名称
  3. luabind 导出string问题
  4. MySql服务基础
  5. ****RESTful API 设计最佳实践(APP后端API设计参考典范)
  6. 浏览器插件 - 通用注入模版JS
  7. Dialog( 对话框) 组件
  8. bug:论用例健壮性的重要
  9. tensorflow 学习日志
  10. Flask 源码流程,上下文管理
  11. Spring Boot MyBatis注解:@MapperScan和@Mapper
  12. 以太坊之——golang以太坊接口调用
  13. bresenham 算法生成直线
  14. spring cloud config与eureka配合使用
  15. 9、JPA-映射-双向多对多
  16. bzoj 1483: [HNOI2009]梦幻布丁 启发式合并vector
  17. 微信小程序接口开发中解决https外网调试问题
  18. Oracle_in_not-in_distinct_minsu的用法
  19. mysql主键重复,不抱错,只更新的骚操作 (如果没有插入,如果有更新)
  20. 【活动】畅想云端加油站,赢iPad

热门文章

  1. 将C# dataTable 做为参数传入到存储过程
  2. 开发问题记录——ArcEngine问题记录
  3. 执行插入语句时直接返回插入信息的自增id,判断是否为空
  4. 非常出色的一款WinForm窗体重绘GUI类库源码
  5. Web性能压力测试工具之Siege详解
  6. RichTextBox控件-主要用于输入输出编辑文本信息
  7. Relay log read failure
  8. 1040: [ZJOI2008]骑士 - BZOJ
  9. mybatis--面向接口编程
  10. ExtJS4.2学习(五)表格渲染与复选框