最近生接触了一下android,尝试导入极光的demo到android study 各种错误,然后下载极光生成的项目也是各种错误,感觉好像有点脱离时代了,记得以前用eclipse写android只需要考虑能不能连接上google服务器的问题,从来没有各种因升级导致的这不行那不么,怎么到android study每升级一次就郁闷一堆人呢...

干脆新建一个项目,手动导入

整个过程分为  1 添加权限   2  添加服务和广播  3导入libs   4 编码

1 权限

 我是直接复制的demo中的权限设定,里面有一个自定义权限,需要把包名改成当前包名

  <permission android:name="包名.permission.JPUSH_MESSAGE"android:protectionLevel="signature" /><!-- Required --><uses-permission android:name="包名.permission.JPUSH_MESSAGE" /><uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.VIBRATE" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.WRITE_SETTINGS" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><!-- Required for jmrtc --><uses-permission android:name="android.permission.RECORD_AUDIO" /><uses-permission android:name="android.permission.CAMERA" /><!-- Optional. Required for location feature --><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /><uses-permission android:name="android.permission.GET_TASKS" />

2 服务,广播,还有key

<!-- 可配置android:process参数将PushService放在其他进程中 --><serviceandroid:name="cn.jpush.android.service.PushService"android:enabled="true"android:exported="false" android:process=":pushcore"><intent-filter><action android:name="cn.jpush.android.intent.REGISTER" /><action android:name="cn.jpush.android.intent.REPORT" /><action android:name="cn.jpush.android.intent.PushService" /><action android:name="cn.jpush.android.intent.PUSH_TIME" /></intent-filter></service><!-- Required SDK核心功能--><receiverandroid:name="cn.jpush.android.service.PushReceiver"android:enabled="true" android:exported="false" android:process=":pushcore"><intent-filter android:priority="1000"><action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" /><!-- Required 显示通知栏 --><category android:name="您自己的包名" /></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><!-- Required SDK核心功能--><receiverandroid:name="cn.jpush.im.android.helpers.IMReceiver"android:enabled="true"android:exported="false"/><!-- Required SDK核心功能--><receiverandroid:name="cn.jpush.android.service.AlarmReceiver"android:exported="false" /><!-- Required since JCore 1.1.7. SDK 核心功能--><providerandroid:name="cn.jpush.android.service.DataProvider"android:authorities="您自己的包名.DataProvider"android:exported="false" /><!-- Required. For publish channel feature --><!-- JPUSH_CHANNEL 是为了方便开发者统计APK分发渠道。--><!-- 例如: --><!-- 发到 Google Play 的APK可以设置为 google-play; --><!-- 发到其他市场的 APK 可以设置为 xxx-market。 --><!-- 目前这个渠道统计功能的报表还未开放。--><meta-dataandroid:name="JPUSH_CHANNEL"android:value="developer-default" /><!-- Required. AppKey copied from Portal --><meta-dataandroid:name="JPUSH_APPKEY"android:value="您自己的Appkey" />

  

  

3 复制libs

将libs中的文件复制到自己项目的app的libs中,并且在jar上单击右键,add as lib

在app 的 build.gradle中的android中增加代码

sourceSets {main {jniLibs.srcDirs = ['libs']}}

  

4 编码

A 初始化按demo的写法是写在自定义的Application中,不过我没用过,这里只要初始化成功就好了,就放在AppCompatActivity中了

//调试模式会输出信息,方便找错JMessageClient.setDebugMode(true);JMessageClient.init(getApplicationContext(), true);

B 登陆

JMessageClient.login("帐号", "密码", new BasicCallback() {@Overridepublic void gotResult(int i, String s) { }});

C 在需要接收消息的地方注册消息,然后就可以根据自己的需要去查api文档了

JMessageClient.registerEventReceiver(this);//在Activity销毁时最好注销掉事件
@Overrideprotected void onDestroy() {JMessageClient.unRegisterEventReceiver(this);super.onDestroy();}//注意需要this中包含回调事件的处理函数
public void onEventMainThread(ChatRoomMessageEvent event) {List<Message> msgs = event.getMessages();for (Message msg : msgs) {}}//也可以用全局消息方式,demo中有

  

  

  

转载于:https://www.cnblogs.com/meieiem/p/9263051.html

极光IM简单接入步骤相关推荐

  1. 微信公众号自动回复html,[.NET] 简单接入微信公众号开发:实现自动回复

    简单接入微信公众号开发:实现自动回复 一.前提 先申请微信公众号的授权,找到或配置几个关键的信息(开发者ID.开发者密码.IP白名单.令牌和消息加解密密钥等). 二.基本配置信息解读 开发者ID:固定 ...

  2. 手把手教你简单接入微信SDK

    就看微信现在这么火的样子,如果你的APP不接入微信的SDK好像就有点脱离了时代大车轮一样.一个成功的APP,不单单凭借着一个好的想法,一个好的功能,最主要还是用户量.用户量就好像是水,我们的APP就一 ...

  3. 梯度下降法优化目标函数_如何通过3个简单的步骤区分梯度下降目标函数

    梯度下降法优化目标函数 Nowadays we can learn about domains that were usually reserved for academic communities. ...

  4. 微信公众号简单接入springboot集成weixin4j

    微信公众号简单接入springboot集成weixin4j 内网穿透 登录地址:https://natapp.cn/ 注册用户,购买免费渠道 进行配置端口号(我配置的是8802) 根据网址进行下一步操 ...

  5. 创建类的三个步骤_如何通过5个简单的步骤创建企业网站

    创建类的三个步骤 Having the right business website can help any business alter their fortunes. If you are a ...

  6. 【接入指南】华为帐号服务Authorization Code模式介绍与接入步骤详解

    华为帐号服务提供两种登录授权模式,第一种是Authorization Code模式,第二种是ID-Token模式,这两种模式在使用场景上存在差异.本文将详细介绍Authorization Code模式 ...

  7. 例举电脑一键重装系统win10简单的步骤操作

    例举电脑一键重装系统win10简单的步骤操作 windows10系统界面新,时尚前卫,启动速度快,功能强大,一键重装系统越来越受受的电脑用户们的青睐,特别是不懂计算机知识的用户 ,都希望方法越简单越好 ...

  8. 一个简单的步骤让你的 Python 代码更干净

    说起来容易做起来难,我们都知道代码可读性非常重要,但是写的时候总是随心所欲,不考虑类型提示.import 排序.PEP8 规范.今天分享一个小技巧,通过一个简单的步骤就可以让你的 Python 代码更 ...

  9. 机智云代码移植_【机智云Gokit3测评】设备接入-步骤二:程序移植

    [机智云Gokit3测评]设备接入-步骤二:程序移植 [复制链接] 1.写在前面 2.下载软件包 进入机智云官网的开发者中心后,点击"下载中心"(https://download. ...

  10. 怎么剪辑视频教程分享:简单的步骤要注意,配音也不能忽视

    怎么剪辑视频教程分享:简单的步骤要注意,配音也不能忽视 做短视频剪辑,除了需要有耐心,还应当要有一定的思维创意能力.不过我们今天只简单的学些一下关于怎么剪辑短视频的基本教程,也就是关于剪辑短视频的步骤 ...

最新文章

  1. python3 赋值与内存空间
  2. Python中为什么推荐使用isinstance来进行类型判断?而不是type
  3. react-redux中的持久化数据存储redux-persist
  4. IISExpress Log 文件路径
  5. 2016年10月计算机网络技术,2016年10月自考《计算机网络技术》练习题及答案1
  6. python读取mysql中表内数据转换成json_使用python将mySql查询结果转换为json
  7. activiti创建子流程_OA流程图绘制指南
  8. 《深度学习Python实践》第20章——回归项目实例
  9. css中hack是什么
  10. 2021年下半年信息安全工程师上午真题及答案解析
  11. c语言银行卡六位密码编译,6位随机密码生成器
  12. socket 由于目标计算机积极拒绝 无法连接,由于目标计算机积极拒绝,无法连接。 192.168.3.9:8081...
  13. Java面向对象游戏-黑熊怪变成武大郎吃唐僧 --如何方法继承 重写
  14. 树莓派Pico与ADXL345三轴加速度传感器SPI总线接口技术及MicroPython编程
  15. 嵌入式linux开发环境搭建(VMware16.0.0+Ubuntu16.04.3_X64)
  16. USACO2018 OPEN TEST - Silver
  17. [转] 一篇好文 ---steve jobs (stay hungry, stay foolish)
  18. NCH ExpressDictate for Mac(数字听写记录软件)
  19. Ubuntu18.04配置、软件安装-搜狗输入法,网易云音乐
  20. 其他的torrent资源

热门文章

  1. 使用PMBus总线监控电源管理芯片UCD90120
  2. SQL 获取当前日期
  3. python 趋势线计算式_怎么将趋势线公式编辑成计算公式
  4. 视频教程-PHP之socket入门实战websocket聊天室-PHP
  5. 太阳能电池最大功率点跟踪MPPT(Maximum Power Point Tracking)技术
  6. 3dmax学习7——车削修改器
  7. 石英晶振封装HC-49S HC-49U HC-49SMD(12mhz 11.0592mhz等)的关系与区别
  8. pdca实施的流程图_(fmea七步法)过程流程图,FMEA,控制计划哪个在前哪个在后
  9. java程序员语录_2019精选java程序员语录大全
  10. ansys17.2安装教程