Android学习之如何集成极光IM功能(一)
来源:互联网 发布:快餐抢单软件 编辑:程序博客网 时间:2024/06/08 06:33
首先,我们先利用Android studio 创建一个空的应用程序。
我们还需要了解一下 applyplugin:'com.android.application'和 applyplugin:'com.android.library'的区别
apply plugin: 'com.android.application' -----> 应用程序的入口(个人理解。如有错,请大神指出)
apply plugin: 'com.android.library' -------> 应用程序依赖用的module 就是库(个人理解)
一般情况下,一个项目中只有一个主Module和各种依赖Module,我这里为了方便学习,同一项目下有两个应用程序即把依赖的library改成了application,这样运行下,就会安装两个程序
步骤一 (新建module和官网上不一样,官网是直接input module)
1.切换Android状态为Project状态
2.新建依赖module,命名为demo
步骤二 (在demo中导入第三方库和so文件)
1.在demo的main文件夹下新建jniLibs文件夹,并把so文件拷入
2.在demo的libs文件夹下拷入对应的jar包,然后as libraries
步骤三 (获取appkey)
1.新建demo应用程序
2.新建JMessageDemo
3.获取对应的appkey
步骤四 (在demo中的配置文件中填写配置条件,其中把配置文件下的包名改对就不会报错了 可以在配置文件中直接replace包名ok,偶尔有一两个不一样) 记得报名要改!
1.把SDK中的main下的文件考入对应module的main文件夹下,把res资源也拷入demo中的res文件夹
2.应用权限
<permission android:name="com.example.demo.permission.JPUSH_MESSAGE" android:protectionLevel="signature"/> <uses-permission android:name="com.example.demo.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.WRITE_SETTINGS"/> <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <!-- Optional for location --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> <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_NETWORK_STATE"/> <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
3.相关的四大组件信息
<service android:name="cn.jpush.android.service.DownloadService" android:enabled="true" android:exported="false"> </service> <service android:name="cn.jpush.android.service.PushService" android:enabled="true" android:exported="false"> <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> <service android:name="cn.jpush.android.service.DaemonService" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="cn.jpush.android.intent.DaemonService"/> <category android:name="com.example.demo"/> </intent-filter> </service> <receiver android:name="cn.jpush.android.service.PushReceiver" android:enabled="true" android:exported="false"> <intent-filter android:priority="1000"> <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY"/> <!-- Required 显示通知栏 --> <category android:name="com.example.demo"/> </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> <activity android:name="cn.jpush.android.ui.PushActivity" android:configChanges="orientation|keyboardHidden" android:theme="@android:style/Theme.Translucent.NoTitleBar"> <intent-filter> <action android:name="cn.jpush.android.ui.PushActivity"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="com.example.demo"/> </intent-filter> </activity> <service android:name="cn.jpush.android.service.DownloadService" android:enabled="true" android:exported="false"/> <receiver android:name="cn.jpush.im.android.helpers.IMReceiver" android:enabled="true" android:exported="false"> <intent-filter android:priority="1000"> <action android:name="cn.jpush.im.android.action.IM_RESPONSE"/> <action android:name="cn.jpush.im.android.action.NOTIFICATION_CLICK_PROXY"/> <category android:name="com.example.demo"/> </intent-filter> </receiver> <receiver android:name="cn.jpush.android.service.AlarmReceiver"/> <activity android:name="com.example.demo.debug.RegisterAndLoginActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activity android:name="com.example.demo.debug.activity.setting.RegisterActivity"/> <activity android:name="com.example.demo.debug.activity.setting.SettingMainActivity"/> <activity android:name="com.example.demo.debug.activity.TypeActivity"/> <activity android:name="com.example.demo.debug.activity.setting.InfoActivity"/> <activity android:name="com.example.demo.debug.activity.setting.AssertEqualsActivity"/> <activity android:name="com.example.demo.debug.activity.setting.GetUserInfoActivity"/> <activity android:name="com.example.demo.debug.activity.setting.UpdatePassword"/> <activity android:name="com.example.demo.debug.activity.setting.UpdateUserInfoActivity"/> <activity android:name="com.example.demo.debug.activity.createmessage.CreateMessageActivity"/> <activity android:name="com.example.demo.debug.activity.createmessage.CreateSigTextMessageActivity"/> <activity android:name="com.example.demo.debug.activity.groupinfo.GroupInfoActivity"/> <activity android:name="com.example.demo.debug.activity.groupinfo.CreateGroupActivity"/> <activity android:name="com.example.demo.debug.activity.groupinfo.GetGroupInfoActivity"/> <activity android:name="com.example.demo.debug.activity.imagecontent.ImageContentActivity"/> <activity android:name="com.example.demo.debug.activity.conversation.ConversationActivity"/> <activity android:name="com.example.demo.debug.activity.groupinfo.AddRemoveGroupMemberActivity"/> <activity android:name="com.example.demo.debug.activity.groupinfo.UpdateGroupInfoActivity"/> <activity android:name="com.example.demo.debug.activity.groupinfo.ExitGroupActivity"/> <activity android:name="com.example.demo.debug.activity.groupinfo.GetLocalGroupMembersActivity"/> <activity android:name="com.example.demo.debug.activity.createmessage.CreateGroupTextMsgActivity"/> <activity android:name="com.example.demo.debug.activity.createmessage.CreateSigCustomMsgActivity"/> <activity android:name="com.example.demo.debug.activity.createmessage.CreateSigImageMessageActivity"/> <activity android:name="com.example.demo.debug.activity.createmessage.ShowMessageActivity"/> <activity android:name="com.example.demo.debug.activity.createmessage.CreateGroupImageMsgActivity"/> <activity android:name="com.example.demo.debug.activity.createmessage.CreateSigVoiceMsgActivity"/> <activity android:name="com.example.demo.debug.activity.createmessage.ShowCustomMessageActivity"/> <activity android:name="com.example.demo.debug.activity.createmessage.CreateGroupCustomMsgActivity"/> <activity android:name="com.example.demo.debug.activity.createmessage.CreateGroupVoiceMsgActivity"/> <activity android:name="com.example.demo.debug.activity.notify.NotifyTypeActivity"/> <activity android:name="com.example.demo.debug.activity.setting.GetBlackListActivity"/> <activity android:name="com.example.demo.debug.activity.setting.AddRemoveBlackListActivity"/> <activity android:name="com.example.demo.debug.activity.setting.UpdateUserAvatar"/> <activity android:name="com.example.demo.debug.activity.notify.ShowGroupNotificationActivity"/> <activity android:name="com.example.demo.debug.activity.imagecontent.CreateImageContentAsyncFile"/> <activity android:name="com.example.demo.debug.activity.imagecontent.ShowDownloadPathActivity"/> <activity android:name="com.example.demo.debug.activity.imagecontent.CreateImageContentAsyncBitmap"/> <activity android:name="com.example.demo.debug.activity.messagecontent.SetGetStringExtraActivity"/> <activity android:name="com.example.demo.debug.activity.messagecontent.SetGetNumberExtraActivity"/> <activity android:name="com.example.demo.debug.activity.messagecontent.SetGetBooleanExtraActivity"/> <activity android:name="com.example.demo.debug.activity.messagecontent.SetGetExtraActivity"/> <activity android:name="com.example.demo.debug.activity.createmessage.ShowDownloadVoiceInfoActivity"/> <activity android:name="com.example.demo.debug.activity.conversation.GetConversationInfoActivity"/> <activity android:name="com.example.demo.debug.activity.conversation.OrderMessageActivity"/> <activity android:name="com.example.demo.debug.activity.conversation.IsShowNotifySigActivity"/> <activity android:name="com.example.demo.debug.activity.conversation.DeleteConversationActivity"/> <activity android:name="com.example.demo.debug.activity.setting.NoDisturbListActivity"/> <activity android:name="com.example.demo.debug.activity.setting.ShowLogoutReasonActivity"/> <activity android:name="com.example.demo.debug.activity.createmessage.CreateSendFileActivity"/> <activity android:name="com.example.demo.debug.activity.friend.FriendContactManager"/> <activity android:name="com.example.demo.debug.activity.friend.AddFriendActivity"/> <activity android:name="com.example.demo.debug.activity.friend.ShowFriendReasonActivity"/> <activity android:name="com.example.demo.debug.activity.createmessage.CreateLocationMessageActivity"/>
4.配置meta(就是appkey)
<meta-data android:name="JPUSH_CHANNEL" android:value="developer-default"/> <meta-data android:name="JPUSH_APPKEY" android:value="You JPUSH_APPKEY" />
5.把demo的build.gradle 的library 改成 application
apply plugin: 'com.android.application'android { compileSdkVersion 24 buildToolsVersion "24.0.2" defaultConfig { minSdkVersion 15 targetSdkVersion 24 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:24.2.1' compile files('libs/jmessage-android-1.4.2.jar')}
步骤五 (调试运行)
- Android学习之如何集成极光IM功能(一)
- Android学习之集成极光推送功能
- Android学习之如何集成极光短信验证
- 极光推送企业开发系列之在Android Studio中集成推送功能
- iOS 集成极光推送(一)
- Android 集成极光推送(Android studio)
- android studio 集成极光推送(1)
- android jpush(极光推送)快速集成
- Android 极光推送集成
- android极光推送集成
- Android集成极光推送
- android集成极光推送
- Android集成极光推送
- Android极光集成
- android 集成极光推送
- Android小菜鸟向大神进攻的奋斗记(一)之关于Android studio 使用极光推送,集成成功,但是推送不成
- Android集成极光推送和踩过的坑(一)
- Java IM环信服务端集成之创建应用(一)
- CentOS搭建hadoop的步骤
- iOS知识点总结——UITextField与 UITextView的区别
- Window.setFlags 各种Flag笔记
- Bootstrap学习总结笔记(11)-- 基本组件之列表组
- mochiweb源码阅读5-函数跳转流程一览
- Android学习之如何集成极光IM功能(一)
- easyui-datagrid特殊字符不能显示的处理
- XML中DOM解析原理
- check选中
- ToolBar的使用
- Laravel 5.2 使用 JWT 完成多用户认证
- Unity如何使用多线程处理 UnityEngine相关的内容
- bootsrap3的学习笔记,一些常用的类名
- 前端--React之webpack使用教程