jpush-phonegap-plugin/doc/Android_handle_install.md

136 lines
5.4 KiB
Markdown
Raw Normal View History

#Android 手动安装
2015-04-14 09:58:44 +08:00
2016-03-30 22:12:49 +08:00
下载 JPush PhoneGap 插件,并解压缩,标记插件目录为:`$JPUSH_PLUGIN_DIR`
1. 复制:$JPUSH_PLUGIN_DIR/src/android/*.java 到 cn/jpush/phonega/ 目录下(即cn.jpush.phonegap 的包下)
2. 复制:$JPUSH_PLUGIN_DIR/src/android/armeabi/libjpush.so 到 lib/armeabi/
3. 复制:$JPUSH_PLUGIN_DIR/src/android/jpush-sdk-release2.0.6.jar 到 lib/
4. 复制:$JPUSH_PLUGIN_DIR/src/android/test_notification_layout.xml 到 res/layout/
5. 复制:$JPUSH_PLUGIN_DIR/src/android/jpush_notification_icon.png 到 res/drawable/
6. 复制:$JPUSH_PLUGIN_DIR/www/JPushPlugin.js 到 assets/www/plugins/cn.jpush.phonegap.JPushPlugin.www/
和 platform_www/plugins/cn.jpush.phonegap.JPushPlugin/www/
并在 JPushPlugin.js 文件的代码外添加:
cordova.define("cn.jpush.phonegap.JPushPlugin.JPushPlugin", function(require, exports, module) {
// 代码
});
7. 修改 AndroidManifest.xml 在 manifest 节点下添加以下权限
2015-03-30 11:13:52 +08:00
2016-03-30 22:12:49 +08:00
<!-- Required 一些系统要求的权限,如访问网络等-->
2015-03-30 11:13:52 +08:00
<uses-permission android:name="$PACKAGE_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.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<permission
android:name="$PACKAGE_NAME.permission.JPUSH_MESSAGE"
android:protectionLevel="signature"/>
2016-03-30 22:12:49 +08:00
7. 修改 AndroidManifest.xml 在 manifest/application 节点下添加SDK相关组件声明
2015-03-30 11:13:52 +08:00
<activity
android:name="cn.jpush.android.ui.PushActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="orientation|keyboardHidden">
<intent-filter>
2016-03-30 22:12:49 +08:00
<action android:name="cn.jpush.android.ui.PushActivity"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="$PACKAGE_NAME"/>
2015-03-30 11:13:52 +08:00
</intent-filter>
</activity>
2016-03-30 22:12:49 +08:00
<!-- Required SDK 核心功能-->
2015-03-30 11:13:52 +08:00
<service
android:name="cn.jpush.android.service.DownloadService"
android:enabled="true"
android:exported="false">
</service>
2016-03-30 22:12:49 +08:00
2015-03-30 11:13:52 +08:00
<!-- Required SDK 核心功能-->
<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>
2016-03-30 22:12:49 +08:00
<!-- Required SDK 核心功能-->
2015-03-30 11:13:52 +08:00
<receiver
2016-03-30 22:12:49 +08:00
android:name="cn.jpush.android.service.PushReceiver"
android:enabled="true">
2015-03-30 11:13:52 +08:00
<intent-filter android:priority="1000">
<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY"/>
2016-03-30 22:12:49 +08:00
2015-03-30 11:13:52 +08:00
<!--Required 显示通知栏 -->
<category android:name="$PACKAGE_NAME"/>
</intent-filter>
2016-03-30 22:12:49 +08:00
2015-03-30 11:13:52 +08:00
<intent-filter>
<action android:name="android.intent.action.USER_PRESENT"/>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
2016-03-30 22:12:49 +08:00
2015-03-30 11:13:52 +08:00
<!-- 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>
2016-03-04 15:57:12 +08:00
2015-03-30 11:13:52 +08:00
<!-- User defined. For test only 用户自定义的广播接收器 -->
<receiver
2016-03-30 22:12:49 +08:00
android:name="cn.jpush.phonegap.MyReceiver"
android:enabled="true">
2015-03-30 11:13:52 +08:00
<intent-filter android:priority="1000">
<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY"/>
2016-03-30 22:12:49 +08:00
2015-03-30 11:13:52 +08:00
<!-- Required 显示通知栏 -->
<category android:name="$PACKAGE_NAME"/>
2016-03-30 22:12:49 +08:00
</intent-filter>
2015-03-30 11:13:52 +08:00
<intent-filter>
2016-03-30 22:12:49 +08:00
<action android:name="cn.jpush.android.intent.REGISTRATION"/>
<!-- Required 用户注册 SDK 的intent -->
<action android:name="cn.jpush.android.intent.UNREGISTRATION"/>
<action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED"/>
<!-- Required 用户接收 SDK 消息的intent -->
<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED"/>
<!-- Required 用户接收 SDK 通知栏信息的intent -->
<action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED"/>
<!-- Required 用户打开自定义通知栏的intent -->
<action android:name="cn.jpush.android.intent.ACTION_RICHPUSH_CALLBACK"/>
<!-- Optional 用户接受 Rich Push Javascript 回调函数的intent -->
<category android:name="$PACKAGE_NAME"/>
2015-03-30 11:13:52 +08:00
</intent-filter>
</receiver>
2016-03-30 22:12:49 +08:00
2015-03-30 11:13:52 +08:00
<!-- Required SDK核心功能-->
2016-03-30 22:12:49 +08:00
<receiver
android:name="cn.jpush.android.service.AlarmReceiver"/>
<!-- Required. Enable it you can get statistics data with channel -->
<meta-data
android:name="JPUSH_CHANNEL" android:value="developer-default"/>
<meta-data
android:name="JPUSH_APPKEY" android:value="299d0fee887820e7d90a68b2"/>