首先到极光推送的官网上创建一个应用,填写对应的应用名和包名。

创建好之后下载Demo

提取Sdk里面的图片和xml等资源文件放自己项目的相应位置,然后要注意的是.so文件的放置位置:

在main目录下新建一个jniLibs文件夹,放在这个文件夹下。

提取Demo里面的AndroidManifest.xml文件,下面是提取的AndroidManifest.xml文件:

  1 <?xml version="1.0" encoding="utf-8"?>
  2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3     package="com.coderwei.pushdemo"
  4     android:versionCode="300"
  5     android:versionName="3.0.0"
  6     >
  7     <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="21" />
  8
  9     <!-- Required -->
 10     <permission
 11         android:name="com.coderwei.pushdemo.permission.JPUSH_MESSAGE"
 12         android:protectionLevel="signature" />
 13
 14     <!-- Required  一些系统要求的权限,如访问网络等-->
 15     <uses-permission android:name="com.coderwei.pushdemo.permission.JPUSH_MESSAGE" />
 16     <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
 17     <uses-permission android:name="android.permission.INTERNET" />
 18     <uses-permission android:name="android.permission.WAKE_LOCK" />
 19     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
 20     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 21     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
 22     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
 23     <uses-permission android:name="android.permission.VIBRATE" />
 24     <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
 25     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 26     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 27
 28
 29
 30     <!-- Optional for location -->
 31     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 用于开启 debug 版本的应用在6.0 系统上 层叠窗口权限 -->
 32     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 33     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
 34     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
 35     <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
 36     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
 37     <uses-permission android:name="android.permission.GET_TASKS" />
 38
 39     <application
 40         android:icon="@drawable/ic_launcher"
 41         android:label="@string/app_name"
 42         android:name="com.example.jpushdemo.ExampleApplication">
 43
 44         <!-- For test only 测试的主程序-->
 45         <activity
 46             android:name="com.example.jpushdemo.MainActivity"
 47             android:label="@string/app_name" >
 48             <intent-filter>
 49                 <action android:name="android.intent.action.MAIN" />
 50                 <category android:name="android.intent.category.LAUNCHER" />
 51             </intent-filter>
 52         </activity>
 53        <!-- For test only 测试高级功能 -->
 54        <activity android:name="com.example.jpushdemo.PushSetActivity" android:label="@string/app_name"></activity>
 55         <!-- For test only 测试设置 -->
 56        <activity android:name="com.example.jpushdemo.SettingActivity" android:label="@string/app_name"></activity>
 57         <!-- For test only 测试状态通知栏,需要打开的Activity -->
 58         <activity android:name="com.example.jpushdemo.TestActivity" android:exported="false">
 59             <intent-filter>
 60                 <action android:name="jpush.testAction" />
 61                 <category android:name="jpush.testCategory" />
 62             </intent-filter>
 63         </activity>
 64
 65         <!-- Rich push 核心功能 since 2.0.6-->
 66         <activity
 67             android:name="cn.jpush.android.ui.PopWinActivity"
 68             android:theme="@style/MyDialogStyle"
 69             android:exported="false">
 70         </activity>
 71
 72         <!-- Required SDK核心功能-->
 73         <activity
 74             android:name="cn.jpush.android.ui.PushActivity"
 75             android:configChanges="orientation|keyboardHidden"
 76             android:theme="@android:style/Theme.NoTitleBar"
 77             android:exported="false">
 78             <intent-filter>
 79                 <action android:name="cn.jpush.android.ui.PushActivity" />
 80                 <category android:name="android.intent.category.DEFAULT" />
 81                 <category android:name="com.coderwei.pushdemo" />
 82             </intent-filter>
 83         </activity>
 84         <!-- Required  SDK核心功能-->
 85         <service
 86             android:name="cn.jpush.android.service.DownloadService"
 87             android:enabled="true"
 88             android:exported="false" >
 89         </service>
 90
 91         <!-- Required SDK 核心功能-->
 92         <!-- 可配置android:process参数将PushService放在其他进程中 -->
 93         <service
 94             android:name="cn.jpush.android.service.PushService"
 95             android:process=":mult">
 96             <intent-filter>
 97                 <action android:name="cn.jpush.android.intent.REGISTER" />
 98                 <action android:name="cn.jpush.android.intent.REPORT" />
 99                 <action android:name="cn.jpush.android.intent.PushService" />
100                 <action android:name="cn.jpush.android.intent.PUSH_TIME" />
101             </intent-filter>
102         </service>
103
104         <!-- since 1.8.0 option 可选项。用于同一设备中不同应用的JPush服务相互拉起的功能。 -->
105         <!-- 若不启用该功能可删除该组件,将不拉起其他应用也不能被其他应用拉起 -->
106         <service
107             android:name="cn.jpush.android.service.DaemonService"
108             android:enabled="true"
109             android:exported="true">
110             <intent-filter>
111                 <action android:name="cn.jpush.android.intent.DaemonService" />
112                 <category android:name="com.coderwei.pushdemo" />
113             </intent-filter>
114
115         </service>
116
117         <!-- Required SDK核心功能-->
118         <receiver
119             android:name="cn.jpush.android.service.PushReceiver"
120             android:enabled="true">
121             <intent-filter android:priority="1000">
122                 <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />   <!--Required  显示通知栏 -->
123                 <category android:name="com.coderwei.pushdemo" />
124             </intent-filter>
125             <intent-filter>
126                 <action android:name="android.intent.action.USER_PRESENT" />
127                 <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
128             </intent-filter>
129             <!-- Optional -->
130             <intent-filter>
131                 <action android:name="android.intent.action.PACKAGE_ADDED" />
132                 <action android:name="android.intent.action.PACKAGE_REMOVED" />
133
134                 <data android:scheme="package" />
135             </intent-filter>
136         </receiver>
137
138         <!-- Required SDK核心功能-->
139         <receiver android:name="cn.jpush.android.service.AlarmReceiver" android:exported="false"/>
140
141         <!-- User defined.  For test only  用户自定义的广播接收器-->
142         <receiver
143             android:name="com.example.jpushdemo.MyReceiver"
144             android:exported="false"
145             android:enabled="true">
146             <intent-filter>
147                 <action android:name="cn.jpush.android.intent.REGISTRATION" /> <!--Required  用户注册SDK的intent-->
148                 <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" /> <!--Required  用户接收SDK消息的intent-->
149                 <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" /> <!--Required  用户接收SDK通知栏信息的intent-->
150                 <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" /> <!--Required  用户打开自定义通知栏的intent-->
151                 <action android:name="cn.jpush.android.intent.CONNECTION" /><!-- 接收网络变化 连接/断开 since 1.6.3 -->
152                 <category android:name="com.coderwei.pushdemo" />
153             </intent-filter>
154         </receiver>
155
156         <!-- Required  . Enable it you can get statistics data with channel -->
157         <meta-data android:name="JPUSH_CHANNEL" android:value="developer-default"/>
158         <meta-data android:name="JPUSH_APPKEY" android:value="cf8a2ff321f582cbfcb55056" /> <!--  </>值来自开发者平台取得的AppKey-->
159
160     </application>
161 </manifest>

下面是自己写的项目的AndroidManifest.xml文件:

  1 <?xml version="1.0" encoding="utf-8"?>
  2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3     package="com.coderwei.pushdemo">
  4
  5     <permission
  6         android:name="com.coderwei.pushdemo.permission.JPUSH_MESSAGE"
  7         android:protectionLevel="signature" />
  8
  9     <!-- Required  一些系统要求的权限,如访问网络等-->
 10     <uses-permission android:name="com.coderwei.pushdemo.permission.JPUSH_MESSAGE" />
 11     <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
 12     <uses-permission android:name="android.permission.INTERNET" />
 13     <uses-permission android:name="android.permission.WAKE_LOCK" />
 14     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
 15     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 16     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
 17     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
 18     <uses-permission android:name="android.permission.VIBRATE" />
 19     <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
 20     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 21     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 22
 23
 24
 25     <!-- Optional for location -->
 26     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 用于开启 debug 版本的应用在6.0 系统上 层叠窗口权限 -->
 27     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 28     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
 29     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
 30     <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
 31     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
 32     <uses-permission android:name="android.permission.GET_TASKS" />
 33
 34     <application
 35         android:allowBackup="true"
 36         android:icon="@mipmap/ic_launcher"
 37         android:label="@string/app_name"
 38         android:supportsRtl="true"
 39         android:name=".MyApplication"
 40         android:theme="@style/AppTheme">
 41         <activity android:name=".MainActivity">
 42             <intent-filter>
 43                 <action android:name="android.intent.action.MAIN" />
 44
 45                 <category android:name="android.intent.category.LAUNCHER" />
 46             </intent-filter>
 47         </activity>
 48
 49        <activity
 50             android:name="com.example.jpushdemo.MainActivity"
 51             android:label="@string/app_name" >
 52             <intent-filter>
 53                 <action android:name="android.intent.action.MAIN" />
 54                 <category android:name="android.intent.category.LAUNCHER" />
 55             </intent-filter>
 56         </activity>
 57         <!-- For test only 测试高级功能 -->
 58         <activity android:name="com.example.jpushdemo.PushSetActivity" android:label="@string/app_name"></activity>
 59         <!-- For test only 测试设置 -->
 60         <activity android:name="com.example.jpushdemo.SettingActivity" android:label="@string/app_name"></activity>
 61         <!-- For test only 测试状态通知栏,需要打开的Activity -->
 62         <activity android:name="com.example.jpushdemo.TestActivity" android:exported="false">
 63             <intent-filter>
 64                 <action android:name="jpush.testAction" />
 65                 <category android:name="jpush.testCategory" />
 66             </intent-filter>
 67         </activity>
 68
 69         <!-- Rich push 核心功能 since 2.0.6-->
 70         <activity
 71             android:name="cn.jpush.android.ui.PopWinActivity"
 72             android:theme="@style/MyDialogStyle"
 73             android:exported="false">
 74         </activity>
 75
 76         <!-- Required SDK核心功能-->
 77         <activity
 78             android:name="cn.jpush.android.ui.PushActivity"
 79             android:configChanges="orientation|keyboardHidden"
 80             android:theme="@android:style/Theme.NoTitleBar"
 81             android:exported="false">
 82             <intent-filter>
 83                 <action android:name="cn.jpush.android.ui.PushActivity" />
 84                 <category android:name="android.intent.category.DEFAULT" />
 85                 <category android:name="com.coderwei.pushdemo" />
 86             </intent-filter>
 87         </activity>
 88         <!-- Required  SDK核心功能-->
 89         <service
 90             android:name="cn.jpush.android.service.DownloadService"
 91             android:enabled="true"
 92             android:exported="false" >
 93         </service>
 94
 95         <!-- Required SDK 核心功能-->
 96         <!-- 可配置android:process参数将PushService放在其他进程中 -->
 97         <service
 98             android:name="cn.jpush.android.service.PushService"
 99             android:process=":mult">
100             <intent-filter>
101                 <action android:name="cn.jpush.android.intent.REGISTER" />
102                 <action android:name="cn.jpush.android.intent.REPORT" />
103                 <action android:name="cn.jpush.android.intent.PushService" />
104                 <action android:name="cn.jpush.android.intent.PUSH_TIME" />
105             </intent-filter>
106         </service>
107
108         <!-- since 1.8.0 option 可选项。用于同一设备中不同应用的JPush服务相互拉起的功能。 -->
109         <!-- 若不启用该功能可删除该组件,将不拉起其他应用也不能被其他应用拉起 -->
110         <service
111             android:name="cn.jpush.android.service.DaemonService"
112             android:enabled="true"
113             android:exported="true">
114             <intent-filter>
115                 <action android:name="cn.jpush.android.intent.DaemonService" />
116                 <category android:name="com.coderwei.pushdemo" />
117             </intent-filter>
118
119         </service>
120
121         <!-- Required SDK核心功能-->
122         <receiver
123             android:name="cn.jpush.android.service.PushReceiver"
124             android:enabled="true">
125             <intent-filter android:priority="1000">
126                 <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />   <!--Required  显示通知栏 -->
127                 <category android:name="com.coderwei.pushdemo" />
128             </intent-filter>
129             <intent-filter>
130                 <action android:name="android.intent.action.USER_PRESENT" />
131                 <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
132             </intent-filter>
133             <!-- Optional -->
134             <intent-filter>
135                 <action android:name="android.intent.action.PACKAGE_ADDED" />
136                 <action android:name="android.intent.action.PACKAGE_REMOVED" />
137
138                 <data android:scheme="package" />
139             </intent-filter>
140         </receiver>
141
142         <!-- Required SDK核心功能-->
143         <receiver android:name="cn.jpush.android.service.AlarmReceiver" android:exported="false"/>
144
145         <!-- User defined.  For test only  用户自定义的广播接收器-->
146         <receiver
147             android:name="PushReceiver"
148             android:exported="false"
149             android:enabled="true">
150             <intent-filter>
151                 <action android:name="cn.jpush.android.intent.REGISTRATION" /> <!--Required  用户注册SDK的intent-->
152                 <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" /> <!--Required  用户接收SDK消息的intent-->
153                 <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" /> <!--Required  用户接收SDK通知栏信息的intent-->
154                 <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" /> <!--Required  用户打开自定义通知栏的intent-->
155                 <action android:name="cn.jpush.android.intent.CONNECTION" /><!-- 接收网络变化 连接/断开 since 1.6.3 -->
156                 <category android:name="com.coderwei.pushdemo" />
157             </intent-filter>
158         </receiver>
159
160         <!-- Required  . Enable it you can get statistics data with channel -->
161         <meta-data android:name="JPUSH_CHANNEL" android:value="developer-default"/>
162         <meta-data android:name="JPUSH_APPKEY" android:value="cf8a2ff321f582cbfcb55056" /> <!--  </>值来自开发者平台取得的AppKey-->
163     </application>
164
165 </manifest>

对比两个文件就很清楚了,下载的Demo中的AndroidManifest.xml文件(去头去尾)全部拷到自己项目的AndroidManifest.xml文件中,然后自己写一个Application :

public class MyApplication extends Application {@Overridepublic void onCreate() {super.onCreate();JPushInterface.setDebugMode(true);JPushInterface.init(this);}
}

然后就在application节点下写上:

android:name=".MyApplication"
1 <application
2         android:allowBackup="true"
3         android:icon="@mipmap/ic_launcher"
4         android:label="@string/app_name"
5         android:supportsRtl="true"
6         android:name=".MyApplication"
7         android:theme="@style/AppTheme">

这样就可以了,一个简单的推送就可以实现了。

转载于:https://www.cnblogs.com/Godfunc/p/6139045.html

极光推送JPush的快速集成相关推荐

  1. ionic4 集成极光推送jpush

    ionic4 集成极光推送jpush 1. 在极光官网注册.登录.创建应用 极光推送官网 应用包名要与config.xml一致 2.安装插件 ionic cordova plugin add jpus ...

  2. 极光推送 JPush 简介 集成

    JPush产品简介 控制台: https://www.jiguang.cn/dev/#/app/list#dev 极光推送是一个端到端的推送服务,使得服务器端消息能够及时地推送到终端用户手机上,让开发 ...

  3. 极光推送后台php接口,极光推送Jpush(v2)接口 服务端PHP版本的REST API推送类

    在许多的手机App开发中推送是一个必须的应用.高大上的企业都会自己投入成本搭建自己的推送服务器,而小微企业则会选择一些服务商,使用他们的服务,减轻自己的运营和维护的成本.Jpush(极光推送)是目前比 ...

  4. android 极光推送解绑,app集成极光推送笔记(angular js)

    出处:极光推送官方文档以及github上的文档 1.安装 一般使用cordova安装(其他安装方式详见文档),命令行输入: cordova plugin add jpush-phonegap-plug ...

  5. Android 极光推送华为厂商通道集成问题记录

    本人根据极光推送文档华为厂商通道集成指南集成华为厂商通道后,一直并未打印上面的成功集成华为厂商通道的标志,最后发现只在华为开发者平台创建项目及应用,但是没有开通项目推送服务权限,也是被自己蠢哭了,在华 ...

  6. 极光推送jpush(简单易懂,分分钟教你搞定)

    先注册账户: 然后点击开发者服务:点击打开链接 创建应用: 随便起个名字,但是最好和你的应用名字一样 然后点击下一步推送设置 把你的工程应用名字输入: 应用包名就是build.gradle文件里的ap ...

  7. iOS开发之极光推送JPush

    JPush介绍 JPush可以轻松地通过极光推送完成运营推送工作同时支持自定义消息.富媒体消息.应用内提醒消息.短视频消息和围栏消息等9种类型,满足开发者在各类应用场景下运营所需9种消息类型. 配置i ...

  8. android极光推送 小米,极光推送- 小米厂商通道集成指南 - 极光文档

    JPush SDK 小米通道集成指南 概述 在国内 Android 生态中,推送通道都是由终端与云端之间的长链接来维持,严重依赖于应用进程的存活状态.如今一些手机厂家会在自家 rom 中做系统级别的推 ...

  9. 极光推送Jpush的“appKey and masterSecret format is incorrect”问题修复

    报错信息: java.lang.IllegalArgumentException: appKey and masterSecret format is incorrect. They should b ...

最新文章

  1. 使用 IntraWeb (5) - 页面布局之 TFrame
  2. niceyoo的2020年终总结-2021年Flag
  3. 废弃fastjson!大型项目迁移Gson保姆级实战
  4. 解决ERROR 1044 (42000): Access denied for user
  5. random是python的内置函数吗_Python 内置函数math,random
  6. 【美赛】美赛字体格式和排版要求
  7. 怎样在EDIUS中进行快速抠图
  8. (转)DB2下载地址总结
  9. [RQNOJ]PID34 / 紧急援救
  10. 搞一下SOA | 11 SOA 系统建模
  11. Jsoup爬虫获取公司纳税识别号
  12. java源程序文件的扩展名_使用Java语言编写的源程序保存时的文件扩展名是什么...
  13. python 乌龟绘图turtle模块的使用
  14. 修改服务器的ip地址的命令,使用命令提示符更改IP地址和DNS服务器 | MOS86
  15. 【浙政钉】第四篇:浙政钉创建群聊、消息接入、发送
  16. Android开源库项目集锦
  17. 微信公众号怎么变现?
  18. 切换窗口卡顿?禁用Lenovo System Interface Foundation
  19. Field类的概述和使用
  20. vr测试速度软件,《VRMARK》首款电脑VR性能测试软件上架steam-VR之家

热门文章

  1. CryEngine3 引擎非商业用途将免费
  2. mysql四种输入_mysql四种事务隔离级别
  3. matlab 图像坐标系
  4. C++常用的容器(vector、set、list、map)
  5. Linux下MySQL数据库常用基本操作 一
  6. 织梦ajax表单提交参数错误,【织梦二次开发】织梦jquery+ajax方式提交自定义表单...
  7. asp获取mysql数据报错_ASP.NET在删除掉数据库文件后报错处理
  8. android短信增加条目,Android仿短信条目右上角的红色小圆球提示气泡
  9. c++ 查找 list中最长的字符串_查找不重复字符的最长子字符串(编程面试中常见题-用8种编程语言来回答)...
  10. 删除 终端服务器,终端服务器命令更改 - Windows Server | Microsoft Docs