
Android平台通过native.js实现接收系统消息,如监听安装卸载apk事件
今天以监听apk安装、卸载为例,来说明系统广播(BroadcastReceiver)如何监听,代码如下:
var receiver;
main = plus.android.runtimeMainActivity();//获取activity
receiver = plus.android.implements('io.dcloud.android.content.BroadcastReceiver',{
onReceive : function(context,intent){//实现onReceiver回调函数
plus.android.importClass(intent);//通过intent实例引入intent类,方便以后的‘.’操作
console.log(intent.getAction());//获取action
main.unregisterReceiver(receiver);//取消监听
}});
var IntentFilter = plus.android.importClass('android.content.IntentFilter');
var Intent = plus.android.importClass('android.content.Intent');
var filter = new IntentFilter();
filter.addAction(Intent.ACTION_PACKAGE_ADDED);//监听apk安装
filter.addAction(Intent.ACTION_PACKAGE_REMOVED);//监听apk卸载
filter.addDataScheme("package");
main.registerReceiver(receiver,filter);//注册监听
今天以监听apk安装、卸载为例,来说明系统广播(BroadcastReceiver)如何监听,代码如下:
var receiver;
main = plus.android.runtimeMainActivity();//获取activity
receiver = plus.android.implements('io.dcloud.android.content.BroadcastReceiver',{
onReceive : function(context,intent){//实现onReceiver回调函数
plus.android.importClass(intent);//通过intent实例引入intent类,方便以后的‘.’操作
console.log(intent.getAction());//获取action
main.unregisterReceiver(receiver);//取消监听
}});
var IntentFilter = plus.android.importClass('android.content.IntentFilter');
var Intent = plus.android.importClass('android.content.Intent');
var filter = new IntentFilter();
filter.addAction(Intent.ACTION_PACKAGE_ADDED);//监听apk安装
filter.addAction(Intent.ACTION_PACKAGE_REMOVED);//监听apk卸载
filter.addDataScheme("package");
main.registerReceiver(receiver,filter);//注册监听
收起阅读 »

使用mui和h5+后依然存在跨域问题的解决方案
将AndroidManifest.xml文件中的android:targetSdkVersion去掉就可以了。
将AndroidManifest.xml文件中的android:targetSdkVersion去掉就可以了。

关于开发者的问题
首先感谢 dcloud 的贡献, mui确实给程序员带来了方便。
这里主要是想建议一下, 可不可以整个QQ群之类的, 大家有问题才可以及时解决, 另外可以参考 ShareSDK 的技术服务方式。
在网页上发问题,然后等回答, 时间明显不对称,有时候本就是一个很小的问题, 点一下就可以继续往前走的, 结查确非要等上很久。
首先感谢 dcloud 的贡献, mui确实给程序员带来了方便。
这里主要是想建议一下, 可不可以整个QQ群之类的, 大家有问题才可以及时解决, 另外可以参考 ShareSDK 的技术服务方式。
在网页上发问题,然后等回答, 时间明显不对称,有时候本就是一个很小的问题, 点一下就可以继续往前走的, 结查确非要等上很久。
收起阅读 »
[笔记] 百度定位,地址变更提醒
//-----------------定位 Start----------------
mui.plusReady(function() {
var localtitle = document.getElementById("local");
var db_lo = plus.storage.getItem("local")
if (db_lo == null) {
try {
plus.nativeUI.showWaiting("首次登录,正在定位...", {
padlock: false
});
plus.geolocation.getCurrentPosition(function(position) {
var codns = position.coords; //获取地理坐标信息;
var geoc = new BMap.Geocoder();
var pt = new BMap.Point(codns.longitude, codns.latitude);
geoc.getLocation(pt, function(rs) {
var addComp = rs.addressComponents;
var lo = addComp.city + "," + addComp.district + "," + addComp.street + "," + addComp.streetNumber;
localtitle.innerHTML = addComp.district;
plus.storage.setItem("local", addComp.district);
console.log(lo);
plus.nativeUI.closeWaiting();
});
}, function(e) {
alert("获取定位位置信息失败:" + e.message);
plus.nativeUI.closeWaiting();
}, {
provider: 'baidu'
});
} catch (e) {
alert(e.message);
plus.nativeUI.closeWaiting();
}
} else {
localtitle.innerHTML = db_lo;
plus.geolocation.getCurrentPosition(function(position) {
var codns = position.coords; //获取地理坐标信息;
var geoc = new BMap.Geocoder();
var pt = new BMap.Point(codns.longitude, codns.latitude);
geoc.getLocation(pt, function(rs) {
var addComp = rs.addressComponents;
if (addComp.district != db_lo) {
mui.confirm('发现地址变化,当前为:' + addComp.district + '\r\n是否切换?', '位置变更', ['是', '否'], function(e) {
if (e.index == 0) {
plus.storage.setItem("local", addComp.district);
localtitle.innerHTML = addComp.district;
}
})
}
})
});
}
});
//-----------------定位 End----------------
//-----------------定位 Start----------------
mui.plusReady(function() {
var localtitle = document.getElementById("local");
var db_lo = plus.storage.getItem("local")
if (db_lo == null) {
try {
plus.nativeUI.showWaiting("首次登录,正在定位...", {
padlock: false
});
plus.geolocation.getCurrentPosition(function(position) {
var codns = position.coords; //获取地理坐标信息;
var geoc = new BMap.Geocoder();
var pt = new BMap.Point(codns.longitude, codns.latitude);
geoc.getLocation(pt, function(rs) {
var addComp = rs.addressComponents;
var lo = addComp.city + "," + addComp.district + "," + addComp.street + "," + addComp.streetNumber;
localtitle.innerHTML = addComp.district;
plus.storage.setItem("local", addComp.district);
console.log(lo);
plus.nativeUI.closeWaiting();
});
}, function(e) {
alert("获取定位位置信息失败:" + e.message);
plus.nativeUI.closeWaiting();
}, {
provider: 'baidu'
});
} catch (e) {
alert(e.message);
plus.nativeUI.closeWaiting();
}
} else {
localtitle.innerHTML = db_lo;
plus.geolocation.getCurrentPosition(function(position) {
var codns = position.coords; //获取地理坐标信息;
var geoc = new BMap.Geocoder();
var pt = new BMap.Point(codns.longitude, codns.latitude);
geoc.getLocation(pt, function(rs) {
var addComp = rs.addressComponents;
if (addComp.district != db_lo) {
mui.confirm('发现地址变化,当前为:' + addComp.district + '\r\n是否切换?', '位置变更', ['是', '否'], function(e) {
if (e.index == 0) {
plus.storage.setItem("local", addComp.district);
localtitle.innerHTML = addComp.district;
}
})
}
})
});
}
});
//-----------------定位 End----------------
收起阅读 »

[笔记] 首页加载完成,关闭欢迎页
//创建子页面,首个选项卡页面显示,其它均隐藏;首页加载完成,关闭欢迎页
mui.plusReady(function() {
var self = plus.webview.currentWebview();
var loadedCount = 0;
for (var i = 0; i < 4; i++) {
var sub = plus.webview.create(subpages[i], subpages[i], subpage_style);
if (i > 0) {
sub.hide();
} else {
sub.addEventListener('loaded', function() {
plus.navigator.closeSplashscreen();
});
}
self.append(sub);
}
});
//创建子页面,首个选项卡页面显示,其它均隐藏;首页加载完成,关闭欢迎页
mui.plusReady(function() {
var self = plus.webview.currentWebview();
var loadedCount = 0;
for (var i = 0; i < 4; i++) {
var sub = plus.webview.create(subpages[i], subpages[i], subpage_style);
if (i > 0) {
sub.hide();
} else {
sub.addEventListener('loaded', function() {
plus.navigator.closeSplashscreen();
});
}
self.append(sub);
}
});
收起阅读 »

打算写一些面向初学者的HBuilder的文章
断断续续学了几个月,遇到过很多问题,也走了一些弯路。
想把这些总结一下,写给同样的初学者。
这是第一篇:概念理解
http://yananay.iteye.com/blog/2209258
第二篇:工具初用
http://yananay.iteye.com/blog/2210326
第三篇:webview的理解
http://yananay.iteye.com/blog/2213799
第四篇:编写一个登录页面
http://yananay.iteye.com/blog/2217145
第五篇:编写一个登录页面 - Ajax交互
http://yananay.iteye.com/blog/2220729
(刚刚得知mui的例子中新增加了登录的事例,等学习完,会把理解错误的地方补充进来)
希望 dcloud 牛人们有时间能看看,如果有理解错误的地方,我好及时修改。
断断续续学了几个月,遇到过很多问题,也走了一些弯路。
想把这些总结一下,写给同样的初学者。
这是第一篇:概念理解
http://yananay.iteye.com/blog/2209258
第二篇:工具初用
http://yananay.iteye.com/blog/2210326
第三篇:webview的理解
http://yananay.iteye.com/blog/2213799
第四篇:编写一个登录页面
http://yananay.iteye.com/blog/2217145
第五篇:编写一个登录页面 - Ajax交互
http://yananay.iteye.com/blog/2220729
(刚刚得知mui的例子中新增加了登录的事例,等学习完,会把理解错误的地方补充进来)
希望 dcloud 牛人们有时间能看看,如果有理解错误的地方,我好及时修改。
收起阅读 »
Android平台离线打包插件配置(老版本SDK- 使用jar包发布的SDK版本,已过期)
本文为使用jar包发布的SDK版本配置方法和需要引入的文件,新版本SDK使用aar文件发布,资源文件和部分功能整合到了aar文件中,开发者配置起来更方便可参考文档
当前文档已过期,新版集成方式参考如下链接,本链接下的留言将不会处理,请注意!!!
开发者使用5+SDK首先要引入以下文件
需要拷贝的文件
需要将以下jar文件拷贝到工程的libs目录下 | 路径 | 文件 |
---|---|---|
SDK\libs | pdr.jar, ui.jar, my-nineoldandroids-2.4.0.jar,my-imageloader.jar |
需要将以下文件拷贝到资源目录下 | 源文件路径 | 文件名 | 目的路径 |
---|---|---|---|
SDK\res\layout | dcloud_activity_main_market.xml,dcloud_custom_notification.xml,dcloud_dialog.xml,dcloud_main_test_activity.xml,dcloud_market_fragment_base.xml,dcloud_snow_black_progress.xml,dcloud_snow_white_progress.xml | res\layout | |
SDK\res\drawable-hdpi | dcloud_shadow_left.png,dcloud_snow_black.png,dcloud_snow_black_progress.xml,dcloud_snow_white.png,dcloud_snow_white_progress.xml | res\drawable-hdpi | |
SDK\res\values | dcloud_activity_styles.xml,dcloud_colors.xml,dcloud_styles.xml | res/values | |
SDK\res\drawable | dcloud_dialog_shape.xml,dcloud_dialog_shape_bg.xml | res/drawable | |
SDK\res\anim | dcloud_slide_in_from_top.xml,dcloud_slide_out_to_top.xml | res/anim |
需要将如下代码引入到工程,并需要按照如下包名引入 | 文件名 | 引入的包名 |
---|---|---|
Rinfomation.java | io.dcloud |
Rinfomation.java 文件可以根据使用需求对代码进行删减
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
application节点下配置如下代码
<activity
android:name="io.dcloud.PandoraEntry"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="user"
android:windowSoftInputMode="adjustResize" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="io.dcloud.PandoraEntryActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:hardwareAccelerated="true"
android:label="5+Debug"
android:launchMode="singleTask"
android:screenOrientation="user"
android:theme="@style/DCloudTheme"
android:windowSoftInputMode="adjustResize" >
</activity>
<service
android:name="io.dcloud.common.adapter.io.MiniServerService"
android:exported="true" />
沉浸式状态栏
沉浸式状态栏仅支持Android 4.4以上安卓设备 需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | pdr.jar, ui.jar , my-nineoldandroids-2.4.0.jar |
Androidmainfest.xml文件需要修改的项
application节点下配置如下代码
<meta-data
android:name="immersed.status.bar"
android:value="true"/>
android沉浸式状态栏效果可参考文档Android平台设置沉浸式状态栏显示效果
Actionsheet
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | pdr.jar, ui.jar , my-nineoldandroids-2.4.0.jar |
需要引入工程的资源文件 需要将以下文件放到工程的res\drawable-xhdpi目录下 |
路径 | 文件名 |
---|---|---|
SDK\res\drawable-xhdpi | dcloud_actionsheet_bottom_normal.9.png,dcloud_actionsheet_bottom_pressed.9.png,dcloud_actionsheet_middle_normal.9.png,dcloud_actionsheet_middle_pressed.9.png,dcloud_actionsheet_single_normal.9.png,dcloud_actionsheet_single_pressed.9.png,dcloud_actionsheet_top_normal.9.png,dcloud_actionsheet_top_pressed.9.png,dcloud_as_bg_ios6.9.png,dcloud_as_cancel_bt_bg.9.png,dcloud_as_other_bt_bg.9.png | |
SDK\res\layout | dcloud_loadingview.xml | |
SDK\res\values | dcloud_nativeui_styles.xml |
需要将以下文件放到工程的res\drawable目录下 | 路径 | 文件名 |
---|---|---|
SDK\res\drawable | dcloud_longding_bg.xml,dcloud_slt_as_ios7_cancel_bt.xml,dcloud_slt_as_ios7_other_bt_bottom.xml, |
dcloud_slt_as_ios7_other_bt_middle.xml,dcloud_slt_as_ios7_other_bt_single.xml,dcloud_slt_as_ios7_other_bt_title.xml,
dcloud_slt_as_ios7_other_bt_top.xml |
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
< feature name="NativeUI" value="io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl" />
Waitting
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | pdr.jar, ui.jar , my-nineoldandroids-2.4.0.jar, nativeui.jar |
需要引入工程的资源文件 需要将以下文件放到工程的res\layout目录下 |
路径 | 文件名 |
---|---|---|
SDK\res\layout | dcloud_loadingview.xml, loadingview.xml |
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
< feature name="NativeUI" value="io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl" />
多图片选择
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | gallery.jar |
需要引入工程的资源文件 需要将以下文件放到新创建工程的res/drawable目录下 |
文件位置 | 文件名 |
---|---|---|
SDK\res\drawable | image_pick_mask.9.png, image_pick_no_media.png, image_pick_title_sel.xml |
需要将以下文件放到工程的res/layout目录下 | 文件位置 | 文件名 |
---|---|---|
SDK\res\layout | image_pick_gallery.xml, image_pick_gallery_item.xml |
Androidmainfest.xml文件需要修改的项
application节点下配置如下代码
<activity
android:name="io.dcloud.imagepick.CustomGalleryActivity"
android:screenOrientation="portrait"
android:theme="@style/DCloudTheme" />
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
<feature name="Gallery" value="io.dcloud.js.gallery.GalleryFeatureImpl" />
友盟统计
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | statistics-umeng, umeng_sdk.jar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
application节点下配置如下代码
<!--* 其中appkey为友盟官网申请,channelid可以自己定义,一般用来标示上传的market,方便统计用户是从哪装的。如:-->
<meta-data android:value="$你的appkey" android:name="UMENG_APPKEY"/>
<meta-data android:value="$你的channelid" android:name="UMENG_CHANNEL"/>
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
<feature name="Statistic" value="io.dcloud.feature.statistics.StatisticsFeatureImpl" />
讯飞语音识别
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | speech.jar, speech_ifly.jar, MSC.jar |
需要将以下so文件放到工程的libs\armeabi目录下 | 路径 | 文件名 |
---|---|---|
SDK\libs\armeabi | libmsc.so | |
SDK\libs\armeabi-v7a | libmsc.so |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
application节点下配置如下代码
<meta-data android:value=\"%appid%\" android:name="IFLY_APPKEY"/>
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
<feature name="Speech" value="io.dcloud.feature.speech.SpeechFeatureImpl" >
<module name="iFly" value="io.dcloud.feature.speech.IflySpeechEngine" />
</feature>
Audio
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | audio.jar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name=""android.permission.RECORD_AUDIO""/>
<uses-permission android:name=""android.permission.MODIFY_AUDIO_SETTINGS""/>
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
<feature name="Audio" value="io.dcloud.feature.audio.AudioFeatureImpl" />
摄像头 (Camera)
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | camera.jar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera"/>
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
<feature name="Camera" value="io.dcloud.js.camera.CameraFeatureImpl" />
联系人(Contacts)
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | contacts.jar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
<feature name="Contacts" value="io.dcloud.feature.contacts.ContactsFeatureImpl" />
二维码扫描(Barcode)
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | barcode.jar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
<feature name="Barcode" value="io.dcloud.feature.barcode.BarcodeFeatureImpl" />
短信(Messageing)
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | messaging.jar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.WRITE_SMS"/>
<uses-permission android:name="android.permission.READ_SMS"/>
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
<feature name="Messaging" value="io.dcloud.adapter.messaging.MessagingPluginImpl" />
只需要引入JAR包的API功能
需要将以下jar文件放到工程的libs目录下 | API名称 | 路径 | 文件 | properties文件需要添加代码 |
---|---|---|---|---|
Storage | SDK\libs | nopermission.jar | features节点下添加 < feature name="Storage" value="io.dcloud.feature.pdr.NStorageFeatureImpl" /> | |
Runtime | SDK\libs | nopermission.jar | features节点下添加 < feature name="Runtime" value="io.dcloud.feature.pdr.RuntimeFeatureImpl" /> | |
Zip | SDK\libs | nopermission.jar | features节点下添加 < feature name="Zip" value="io.dcloud.feature.pdr.ZipFeature" /> | |
Cache | SDK\libs | nopermission.jar | features节点下添加 < feature name="Cache" value="io.dcloud.feature.pdr.CoreCacheFeatureImpl" /> | |
Orientation | SDK\libs | sensor.jar | features节点下添加 < feature name="Orientation" value="io.dcloud.feature.sensor.OrientationFeatureImpl" /> | |
Proximity | SDK\libs | sensor.jar | features节点下添加 < feature name="Proximity" value="io.dcloud.feature.sensor.ProximityFeatureImpl" /> | |
Uploader | SDK\libs | uploader.jar | features节点下添加 < feature name="Uploader" value="io.dcloud.net.UploadFeature" /> | |
Downloader | SDK\libs | downloader.jar | features节点下添加 < feature name="Downloader" value="io.dcloud.net.DownloaderFeatureImpl" /> service节点下添加 < service name="Downloader" value="io.dcloud.net.DownloaderBootImpl" /> | |
XMLHttpRequest | SDK\libs | xhr.jar | features节点下添加 < feature name="XMLHttpRequest" value="io.dcloud.net.XMLHttpRequestFeature" /> | |
NativeUI | SDK\libs | nativeui.jar | features节点下添加 < feature name="NativeUI" value="io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl" /> | |
NativeObj | SDK\libs | nativeObj.jar | features节点下添加 <feature name="NativeObj" value="io.dcloud.feature.nativeObj.FeatureImpl" /> | |
Navigator | SDK\libs | navigatorui.jar | features节点下添加 < feature name="Navigator" value="io.dcloud.feature.ui.navigator.NavigatorUIFeatureImpl" />< feature name="UI" value="io.dcloud.feature.ui.UIFeatureImpl">< module name="Navigator" value="io.dcloud.feature.ui.NavView"/>< /< feature> | |
File | SDK\libs | file.jar | features节点下添加 < feature name="File" value="io.dcloud.js.file.FileFeatureImpl" /> |
Android平台离线打包分享插件配置
Android平台离线打包授权登陆插件配置
Android平台离线打包地图插件配置
Android平台离线打包定位插件配置
Android平台离线打包支付插件配置
Android平台离线打包推送插件配置
本文为使用jar包发布的SDK版本配置方法和需要引入的文件,新版本SDK使用aar文件发布,资源文件和部分功能整合到了aar文件中,开发者配置起来更方便可参考文档
当前文档已过期,新版集成方式参考如下链接,本链接下的留言将不会处理,请注意!!!
开发者使用5+SDK首先要引入以下文件
需要拷贝的文件
需要将以下jar文件拷贝到工程的libs目录下 | 路径 | 文件 |
---|---|---|
SDK\libs | pdr.jar, ui.jar, my-nineoldandroids-2.4.0.jar,my-imageloader.jar |
需要将以下文件拷贝到资源目录下 | 源文件路径 | 文件名 | 目的路径 |
---|---|---|---|
SDK\res\layout | dcloud_activity_main_market.xml,dcloud_custom_notification.xml,dcloud_dialog.xml,dcloud_main_test_activity.xml,dcloud_market_fragment_base.xml,dcloud_snow_black_progress.xml,dcloud_snow_white_progress.xml | res\layout | |
SDK\res\drawable-hdpi | dcloud_shadow_left.png,dcloud_snow_black.png,dcloud_snow_black_progress.xml,dcloud_snow_white.png,dcloud_snow_white_progress.xml | res\drawable-hdpi | |
SDK\res\values | dcloud_activity_styles.xml,dcloud_colors.xml,dcloud_styles.xml | res/values | |
SDK\res\drawable | dcloud_dialog_shape.xml,dcloud_dialog_shape_bg.xml | res/drawable | |
SDK\res\anim | dcloud_slide_in_from_top.xml,dcloud_slide_out_to_top.xml | res/anim |
需要将如下代码引入到工程,并需要按照如下包名引入 | 文件名 | 引入的包名 |
---|---|---|
Rinfomation.java | io.dcloud |
Rinfomation.java 文件可以根据使用需求对代码进行删减
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
application节点下配置如下代码
<activity
android:name="io.dcloud.PandoraEntry"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="user"
android:windowSoftInputMode="adjustResize" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="io.dcloud.PandoraEntryActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:hardwareAccelerated="true"
android:label="5+Debug"
android:launchMode="singleTask"
android:screenOrientation="user"
android:theme="@style/DCloudTheme"
android:windowSoftInputMode="adjustResize" >
</activity>
<service
android:name="io.dcloud.common.adapter.io.MiniServerService"
android:exported="true" />
沉浸式状态栏
沉浸式状态栏仅支持Android 4.4以上安卓设备 需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | pdr.jar, ui.jar , my-nineoldandroids-2.4.0.jar |
Androidmainfest.xml文件需要修改的项
application节点下配置如下代码
<meta-data
android:name="immersed.status.bar"
android:value="true"/>
android沉浸式状态栏效果可参考文档Android平台设置沉浸式状态栏显示效果
Actionsheet
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | pdr.jar, ui.jar , my-nineoldandroids-2.4.0.jar |
需要引入工程的资源文件 需要将以下文件放到工程的res\drawable-xhdpi目录下 |
路径 | 文件名 |
---|---|---|
SDK\res\drawable-xhdpi | dcloud_actionsheet_bottom_normal.9.png,dcloud_actionsheet_bottom_pressed.9.png,dcloud_actionsheet_middle_normal.9.png,dcloud_actionsheet_middle_pressed.9.png,dcloud_actionsheet_single_normal.9.png,dcloud_actionsheet_single_pressed.9.png,dcloud_actionsheet_top_normal.9.png,dcloud_actionsheet_top_pressed.9.png,dcloud_as_bg_ios6.9.png,dcloud_as_cancel_bt_bg.9.png,dcloud_as_other_bt_bg.9.png | |
SDK\res\layout | dcloud_loadingview.xml | |
SDK\res\values | dcloud_nativeui_styles.xml |
需要将以下文件放到工程的res\drawable目录下 | 路径 | 文件名 |
---|---|---|
SDK\res\drawable | dcloud_longding_bg.xml,dcloud_slt_as_ios7_cancel_bt.xml,dcloud_slt_as_ios7_other_bt_bottom.xml, |
dcloud_slt_as_ios7_other_bt_middle.xml,dcloud_slt_as_ios7_other_bt_single.xml,dcloud_slt_as_ios7_other_bt_title.xml,
dcloud_slt_as_ios7_other_bt_top.xml |
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
< feature name="NativeUI" value="io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl" />
Waitting
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | pdr.jar, ui.jar , my-nineoldandroids-2.4.0.jar, nativeui.jar |
需要引入工程的资源文件 需要将以下文件放到工程的res\layout目录下 |
路径 | 文件名 |
---|---|---|
SDK\res\layout | dcloud_loadingview.xml, loadingview.xml |
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
< feature name="NativeUI" value="io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl" />
多图片选择
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | gallery.jar |
需要引入工程的资源文件 需要将以下文件放到新创建工程的res/drawable目录下 |
文件位置 | 文件名 |
---|---|---|
SDK\res\drawable | image_pick_mask.9.png, image_pick_no_media.png, image_pick_title_sel.xml |
需要将以下文件放到工程的res/layout目录下 | 文件位置 | 文件名 |
---|---|---|
SDK\res\layout | image_pick_gallery.xml, image_pick_gallery_item.xml |
Androidmainfest.xml文件需要修改的项
application节点下配置如下代码
<activity
android:name="io.dcloud.imagepick.CustomGalleryActivity"
android:screenOrientation="portrait"
android:theme="@style/DCloudTheme" />
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
<feature name="Gallery" value="io.dcloud.js.gallery.GalleryFeatureImpl" />
友盟统计
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | statistics-umeng, umeng_sdk.jar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
application节点下配置如下代码
<!--* 其中appkey为友盟官网申请,channelid可以自己定义,一般用来标示上传的market,方便统计用户是从哪装的。如:-->
<meta-data android:value="$你的appkey" android:name="UMENG_APPKEY"/>
<meta-data android:value="$你的channelid" android:name="UMENG_CHANNEL"/>
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
<feature name="Statistic" value="io.dcloud.feature.statistics.StatisticsFeatureImpl" />
讯飞语音识别
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | speech.jar, speech_ifly.jar, MSC.jar |
需要将以下so文件放到工程的libs\armeabi目录下 | 路径 | 文件名 |
---|---|---|
SDK\libs\armeabi | libmsc.so | |
SDK\libs\armeabi-v7a | libmsc.so |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
application节点下配置如下代码
<meta-data android:value=\"%appid%\" android:name="IFLY_APPKEY"/>
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
<feature name="Speech" value="io.dcloud.feature.speech.SpeechFeatureImpl" >
<module name="iFly" value="io.dcloud.feature.speech.IflySpeechEngine" />
</feature>
Audio
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | audio.jar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name=""android.permission.RECORD_AUDIO""/>
<uses-permission android:name=""android.permission.MODIFY_AUDIO_SETTINGS""/>
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
<feature name="Audio" value="io.dcloud.feature.audio.AudioFeatureImpl" />
摄像头 (Camera)
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | camera.jar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera"/>
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
<feature name="Camera" value="io.dcloud.js.camera.CameraFeatureImpl" />
联系人(Contacts)
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | contacts.jar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
<feature name="Contacts" value="io.dcloud.feature.contacts.ContactsFeatureImpl" />
二维码扫描(Barcode)
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | barcode.jar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
<feature name="Barcode" value="io.dcloud.feature.barcode.BarcodeFeatureImpl" />
短信(Messageing)
需要拷贝的文件
需要引入工程的jar文件 需要将以下jar文件放到工程的libs目录下 |
路径 | 文件 |
---|---|---|
SDK\libs | messaging.jar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.WRITE_SMS"/>
<uses-permission android:name="android.permission.READ_SMS"/>
properties.xml需要添加如下代码
properties.xml文件在ADT工程assets/data目录下
<feature name="Messaging" value="io.dcloud.adapter.messaging.MessagingPluginImpl" />
只需要引入JAR包的API功能
需要将以下jar文件放到工程的libs目录下 | API名称 | 路径 | 文件 | properties文件需要添加代码 |
---|---|---|---|---|
Storage | SDK\libs | nopermission.jar | features节点下添加 < feature name="Storage" value="io.dcloud.feature.pdr.NStorageFeatureImpl" /> | |
Runtime | SDK\libs | nopermission.jar | features节点下添加 < feature name="Runtime" value="io.dcloud.feature.pdr.RuntimeFeatureImpl" /> | |
Zip | SDK\libs | nopermission.jar | features节点下添加 < feature name="Zip" value="io.dcloud.feature.pdr.ZipFeature" /> | |
Cache | SDK\libs | nopermission.jar | features节点下添加 < feature name="Cache" value="io.dcloud.feature.pdr.CoreCacheFeatureImpl" /> | |
Orientation | SDK\libs | sensor.jar | features节点下添加 < feature name="Orientation" value="io.dcloud.feature.sensor.OrientationFeatureImpl" /> | |
Proximity | SDK\libs | sensor.jar | features节点下添加 < feature name="Proximity" value="io.dcloud.feature.sensor.ProximityFeatureImpl" /> | |
Uploader | SDK\libs | uploader.jar | features节点下添加 < feature name="Uploader" value="io.dcloud.net.UploadFeature" /> | |
Downloader | SDK\libs | downloader.jar | features节点下添加 < feature name="Downloader" value="io.dcloud.net.DownloaderFeatureImpl" /> service节点下添加 < service name="Downloader" value="io.dcloud.net.DownloaderBootImpl" /> | |
XMLHttpRequest | SDK\libs | xhr.jar | features节点下添加 < feature name="XMLHttpRequest" value="io.dcloud.net.XMLHttpRequestFeature" /> | |
NativeUI | SDK\libs | nativeui.jar | features节点下添加 < feature name="NativeUI" value="io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl" /> | |
NativeObj | SDK\libs | nativeObj.jar | features节点下添加 <feature name="NativeObj" value="io.dcloud.feature.nativeObj.FeatureImpl" /> | |
Navigator | SDK\libs | navigatorui.jar | features节点下添加 < feature name="Navigator" value="io.dcloud.feature.ui.navigator.NavigatorUIFeatureImpl" />< feature name="UI" value="io.dcloud.feature.ui.UIFeatureImpl">< module name="Navigator" value="io.dcloud.feature.ui.NavView"/>< /< feature> | |
File | SDK\libs | file.jar | features节点下添加 < feature name="File" value="io.dcloud.js.file.FileFeatureImpl" /> |
Android平台离线打包分享插件配置
Android平台离线打包授权登陆插件配置
Android平台离线打包地图插件配置
Android平台离线打包定位插件配置
Android平台离线打包支付插件配置
Android平台离线打包推送插件配置
收起阅读 »
分享一个Android原生日历提醒插入案例。。。求个iOS的??谢谢。。。。。
一个简单的原生日历提醒插入。。。。native.js调用原生实现。。。。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<title></title>
<script src="js/mui.min.js"></script>
<link href="css/mui.min.css" rel="stylesheet" />
<script type="text/javascript" charset="utf-8">
mui.init();
</script>
</head>
<body>
<button onclick="addEvent()"> 插入事件</button>
</body>
<script>
var calanderURL = "content://com.android.calendar/calendars";
var calanderEventURL = "content://com.android.calendar/events";
var calanderRemiderURL = "content://com.android.calendar/reminders";
var calId;
function addEvent() {
var Cursor = plus.android.importClass("android.database.Cursor");
var Uri = plus.android.importClass("android.net.Uri");
var Calendar = plus.android.importClass("java.util.Calendar");
var main = plus.android.runtimeMainActivity();
var userCursor = plus.android.invoke(main.getContentResolver(), "query", Uri.parse(calanderURL), null, null, null, null);
if (plus.android.invoke(userCursor, "getCount") <= 0) {
console.log("添加账号" + plus.android.invoke(userCursor, "getCount"));
initCalendars();
} else {
console.log("开始插入:" + plus.android.invoke(userCursor, "getCount"));
plus.android.invoke(userCursor, "moveToLast");
calId = plus.android.invoke(userCursor, "getString", plus.android.invoke(userCursor, "getColumnIndex", "_id"));
var ContentValues = plus.android.importClass("android.content.ContentValues");
var events = new ContentValues();
events.put("title", "测试中==》呵呵");
events.put("description", "Frankie受空姐邀请,今天晚上10点以后将在Sheraton交流.lol~");
// 插入账户
events.put("calendar_id", calId);
console.log(calId);
events.put("eventLocation", "地球-华夏");
var mCalendar = Calendar.getInstance();
plus.android.invoke(mCalendar, "set", Calendar.HOUR_OF_DAY, 11);
plus.android.invoke(mCalendar, "set", Calendar.MINUTE, 0);
var start = plus.android.invoke(plus.android.invoke(mCalendar, "getTime"), "getTime");
var end = plus.android.invoke(plus.android.invoke(mCalendar, "getTime"), "getTime");
events.put("dtstart", start);
events.put("dtend", end);
events.put("hasAlarm", 1);
events.put("eventTimezone", "Asia/Shanghai"); // 这个是时区,必须有,
// 添加事件
var newEvent = plus.android.invoke(plus.android.runtimeMainActivity().getContentResolver(), "insert", Uri.parse(calanderEventURL), events);
// 事件提醒的设定
var id = plus.android.invoke(newEvent, "getLastPathSegment");
var values = new ContentValues();
values.put("event_id", id);
// 提前10分钟有提醒
values.put("minutes", "10");
values.put("method", "1");
plus.android.invoke(main.getContentResolver(), "insert", Uri.parse(calanderRemiderURL), values);
mui.toast("插入事件成功,可打开本地日历查看");
}
}
//添加账户
function initCalendars() {
var TimeZone=plus.android.importClass("java.util.TimeZone");
var timeZone = TimeZone.getDefault();
var ContentValues=plus.android.importClass("android.content.ContentValues");
var value = new ContentValues();
var Calendars=plus.android.importClass("android.provider.CalendarContract.Calendars");
value.put("name", "yy");
value.put("account_name", "hehe@gmail.com");
value.put("account_type", "com.android.exchange");
value.put("calendar_displayName", "mytt");
value.put("visible", 1);
value.put("calendar_color", -9206951);
value.put("calendar_access_level","700");
value.put("sync_events", 1);
value.put("calendar_timezone",plus.android.invoke(timeZone, "getID"));
value.put("ownerAccount","hehe@gmail.com");
value.put("canOrganizerRespond", 0);
var Uri=plus.android.importClass("android.net.Uri");
var calendarUri=Uri.parse("content://com.android.calendar/calendars");
var buildUpon = plus.android.invoke(calendarUri, "buildUpon");
var CalendarContract = plus.android.importClass("android.provider.CalendarContract");
plus.android.invoke(buildUpon, "appendQueryParameter", CalendarContract.CALLER_IS_SYNCADAPTER, "true");
plus.android.invoke(buildUpon, "appendQueryParameter", "account_name", "hehe@gmail.com");
plus.android.invoke(buildUpon, "appendQueryParameter", "account_type", "com.android.exchange");
calendarUri = plus.android.invoke(buildUpon, "build");
plus.android.invoke(plus.android.runtimeMainActivity().getContentResolver(), "insert", calendarUri, value);
mui.toast("添加账号成功");
}
</script>
</html>
一个简单的原生日历提醒插入。。。。native.js调用原生实现。。。。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<title></title>
<script src="js/mui.min.js"></script>
<link href="css/mui.min.css" rel="stylesheet" />
<script type="text/javascript" charset="utf-8">
mui.init();
</script>
</head>
<body>
<button onclick="addEvent()"> 插入事件</button>
</body>
<script>
var calanderURL = "content://com.android.calendar/calendars";
var calanderEventURL = "content://com.android.calendar/events";
var calanderRemiderURL = "content://com.android.calendar/reminders";
var calId;
function addEvent() {
var Cursor = plus.android.importClass("android.database.Cursor");
var Uri = plus.android.importClass("android.net.Uri");
var Calendar = plus.android.importClass("java.util.Calendar");
var main = plus.android.runtimeMainActivity();
var userCursor = plus.android.invoke(main.getContentResolver(), "query", Uri.parse(calanderURL), null, null, null, null);
if (plus.android.invoke(userCursor, "getCount") <= 0) {
console.log("添加账号" + plus.android.invoke(userCursor, "getCount"));
initCalendars();
} else {
console.log("开始插入:" + plus.android.invoke(userCursor, "getCount"));
plus.android.invoke(userCursor, "moveToLast");
calId = plus.android.invoke(userCursor, "getString", plus.android.invoke(userCursor, "getColumnIndex", "_id"));
var ContentValues = plus.android.importClass("android.content.ContentValues");
var events = new ContentValues();
events.put("title", "测试中==》呵呵");
events.put("description", "Frankie受空姐邀请,今天晚上10点以后将在Sheraton交流.lol~");
// 插入账户
events.put("calendar_id", calId);
console.log(calId);
events.put("eventLocation", "地球-华夏");
var mCalendar = Calendar.getInstance();
plus.android.invoke(mCalendar, "set", Calendar.HOUR_OF_DAY, 11);
plus.android.invoke(mCalendar, "set", Calendar.MINUTE, 0);
var start = plus.android.invoke(plus.android.invoke(mCalendar, "getTime"), "getTime");
var end = plus.android.invoke(plus.android.invoke(mCalendar, "getTime"), "getTime");
events.put("dtstart", start);
events.put("dtend", end);
events.put("hasAlarm", 1);
events.put("eventTimezone", "Asia/Shanghai"); // 这个是时区,必须有,
// 添加事件
var newEvent = plus.android.invoke(plus.android.runtimeMainActivity().getContentResolver(), "insert", Uri.parse(calanderEventURL), events);
// 事件提醒的设定
var id = plus.android.invoke(newEvent, "getLastPathSegment");
var values = new ContentValues();
values.put("event_id", id);
// 提前10分钟有提醒
values.put("minutes", "10");
values.put("method", "1");
plus.android.invoke(main.getContentResolver(), "insert", Uri.parse(calanderRemiderURL), values);
mui.toast("插入事件成功,可打开本地日历查看");
}
}
//添加账户
function initCalendars() {
var TimeZone=plus.android.importClass("java.util.TimeZone");
var timeZone = TimeZone.getDefault();
var ContentValues=plus.android.importClass("android.content.ContentValues");
var value = new ContentValues();
var Calendars=plus.android.importClass("android.provider.CalendarContract.Calendars");
value.put("name", "yy");
value.put("account_name", "hehe@gmail.com");
value.put("account_type", "com.android.exchange");
value.put("calendar_displayName", "mytt");
value.put("visible", 1);
value.put("calendar_color", -9206951);
value.put("calendar_access_level","700");
value.put("sync_events", 1);
value.put("calendar_timezone",plus.android.invoke(timeZone, "getID"));
value.put("ownerAccount","hehe@gmail.com");
value.put("canOrganizerRespond", 0);
var Uri=plus.android.importClass("android.net.Uri");
var calendarUri=Uri.parse("content://com.android.calendar/calendars");
var buildUpon = plus.android.invoke(calendarUri, "buildUpon");
var CalendarContract = plus.android.importClass("android.provider.CalendarContract");
plus.android.invoke(buildUpon, "appendQueryParameter", CalendarContract.CALLER_IS_SYNCADAPTER, "true");
plus.android.invoke(buildUpon, "appendQueryParameter", "account_name", "hehe@gmail.com");
plus.android.invoke(buildUpon, "appendQueryParameter", "account_type", "com.android.exchange");
calendarUri = plus.android.invoke(buildUpon, "build");
plus.android.invoke(plus.android.runtimeMainActivity().getContentResolver(), "insert", calendarUri, value);
mui.toast("添加账号成功");
}
</script>
</html>
收起阅读 »

Android平台离线打包支付插件配置
此文档已不再维护,请参考新文档地址:https://nativesupport.dcloud.net.cn/AppDocs/usemodule/androidModuleConfig/pay
支付宝配置
需要拷贝的文件
需要引入工程的jar文件
需要将以下jar文件放到工程的libs目录下
路径 | 文件 |
---|---|
SDK\libs(1.9.9.52372之前) | payment.jar, payment-alipay.jar , alipaySingle-20161222.jar, alipayutdid.jar |
SDK\libs(1.9.9.52372之后) | payment-alipay-release.aar, alipayutdid.jar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
application节点下配置如下代码
<activity android:name="com.alipay.sdk.app.H5PayActivity"
android:configChanges="orientation|keyboardHidden|navigation"
android:exported="false"
android:screenOrientation="behind"
android:windowSoftInputMode="adjustResize|stateHidden" >
</activity>
<activity android:name="com.alipay.sdk.auth.AuthActivity"
android:configChanges="orientation|keyboardHidden|navigation"
android:exported="false"
android:screenOrientation="behind" >
</activity>
properties.xml需要添加如下代码
properties.xml文件在assets/data目录下
<feature name="Payment" value="io.dcloud.feature.payment.PaymentFeatureImpl"><module name="AliPay" value="io.dcloud.feature.payment.alipay.AliPay"/></feature>
微信支付配置
需要拷贝的文件
需要引入工程的jar文件
需要将以下jar文件放到工程的libs目录下
路径 | 文件 |
---|---|
SDK\libs(1.9.9.52372之前) | payment.jar, payment-weixin.jar, tx_wx.jar |
SDK\libs(1.9.9.52372之后) | payment-weixin-release.aar, wechat-sdk-android-with-mta-5.1.4.jar |
需要将以下代码文件引入到工程,包名为”$你的包名.wxapi”
路径 | 文件 |
---|---|
$你的包名\wxapi | WXPayEntryActivity.java |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
application节点下配置如下代码
<meta-data android:name="WX_APPID" android:value="$微信APPID" />
<meta-data android:name="WX_SECRET" android:value="$微信SECRET"/>
<activity
android:name="$你的包名.wxapi.WXPayEntryActivity"
android:exported="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:launchMode="singleTop" />
properties.xml需要添加如下代码
properties.xml文件在assets/data目录下
<feature name="Payment" value="io.dcloud.feature.payment.PaymentFeatureImpl"><module name="Payment-Weixin" value="io.dcloud.feature.payment.weixin.WeiXinPay"/></feature>
此文档已不再维护,请参考新文档地址:https://nativesupport.dcloud.net.cn/AppDocs/usemodule/androidModuleConfig/pay
支付宝配置
需要拷贝的文件
需要引入工程的jar文件
需要将以下jar文件放到工程的libs目录下
路径 | 文件 |
---|---|
SDK\libs(1.9.9.52372之前) | payment.jar, payment-alipay.jar , alipaySingle-20161222.jar, alipayutdid.jar |
SDK\libs(1.9.9.52372之后) | payment-alipay-release.aar, alipayutdid.jar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
application节点下配置如下代码
<activity android:name="com.alipay.sdk.app.H5PayActivity"
android:configChanges="orientation|keyboardHidden|navigation"
android:exported="false"
android:screenOrientation="behind"
android:windowSoftInputMode="adjustResize|stateHidden" >
</activity>
<activity android:name="com.alipay.sdk.auth.AuthActivity"
android:configChanges="orientation|keyboardHidden|navigation"
android:exported="false"
android:screenOrientation="behind" >
</activity>
properties.xml需要添加如下代码
properties.xml文件在assets/data目录下
<feature name="Payment" value="io.dcloud.feature.payment.PaymentFeatureImpl"><module name="AliPay" value="io.dcloud.feature.payment.alipay.AliPay"/></feature>
微信支付配置
需要拷贝的文件
需要引入工程的jar文件
需要将以下jar文件放到工程的libs目录下
路径 | 文件 |
---|---|
SDK\libs(1.9.9.52372之前) | payment.jar, payment-weixin.jar, tx_wx.jar |
SDK\libs(1.9.9.52372之后) | payment-weixin-release.aar, wechat-sdk-android-with-mta-5.1.4.jar |
需要将以下代码文件引入到工程,包名为”$你的包名.wxapi”
路径 | 文件 |
---|---|
$你的包名\wxapi | WXPayEntryActivity.java |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
application节点下配置如下代码
<meta-data android:name="WX_APPID" android:value="$微信APPID" />
<meta-data android:name="WX_SECRET" android:value="$微信SECRET"/>
<activity
android:name="$你的包名.wxapi.WXPayEntryActivity"
android:exported="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:launchMode="singleTop" />
properties.xml需要添加如下代码
properties.xml文件在assets/data目录下
<feature name="Payment" value="io.dcloud.feature.payment.PaymentFeatureImpl"><module name="Payment-Weixin" value="io.dcloud.feature.payment.weixin.WeiXinPay"/></feature>
收起阅读 »

Android平台离线打包定位插件配置
百度地图定位
需要拷贝的文件
需要引入工程的jar/aar文件
需要将以下jar/aar文件放到工程的libs目录下
路径 | 文件 |
---|---|
SDK\libs(1.9.9.52372之前) | geolocation.jar, geolocation-baidu.jar,BaiduLBS_Android_base.jar, BaiduLBS_Android_geolocation_v7.1.jar |
SDK\libs(1.9.9.52372之后) | baidu-libs-release.aar, geolocation-baidu-release.aar |
需要将以下so文件放到工程的libs\armeabi目录下(1.9.9.52372版本之后不需要设置此项)
路径 | 文件名 |
---|---|
SDK\libs \armeabi | liblocSDK7a.so |
SDK\libs\armeabi-v7a | liblocSDK7a.so |
SDK\libs\x86 | liblocSDK7a.so |
application节点下配置如下代码
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="%appkey_android%"></meta-data>
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"></service>
高德定位
需要拷贝的文件
需要引入工程的jar/aar文件
需要将以下jar/aar文件放到工程的libs目录下
路径 | 文件 |
---|---|
SDK\libs(1.9.9.52372之前) | geolocation.jar,AMap_Location_V3.3.0_20170118.jar,geolocation-amap.jar |
SDK\libs(1.9.9.52372之后) | amap-libs-release.aar, geolocation-amap-release.aar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<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_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
application节点下配置如下代码
<meta-data android:name="com.amap.api.v2.apikey" android:value=\"%用户申请的APPkey%\"></meta-data>
<service android:name="com.amap.api.location.APSService"></service>
系统定位
需要拷贝的文件
需要引入工程的jar/aar文件
最新SDK使用系统定位已不需要引入任何文件
需要将以下jar文件放到工程的libs目录下(仅限旧版)
路径 | 文件 |
---|---|
SDK\lisb | geolocation.jar, geolocation-system.jar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<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_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
百度地图定位
需要拷贝的文件
需要引入工程的jar/aar文件
需要将以下jar/aar文件放到工程的libs目录下
路径 | 文件 |
---|---|
SDK\libs(1.9.9.52372之前) | geolocation.jar, geolocation-baidu.jar,BaiduLBS_Android_base.jar, BaiduLBS_Android_geolocation_v7.1.jar |
SDK\libs(1.9.9.52372之后) | baidu-libs-release.aar, geolocation-baidu-release.aar |
需要将以下so文件放到工程的libs\armeabi目录下(1.9.9.52372版本之后不需要设置此项)
路径 | 文件名 |
---|---|
SDK\libs \armeabi | liblocSDK7a.so |
SDK\libs\armeabi-v7a | liblocSDK7a.so |
SDK\libs\x86 | liblocSDK7a.so |
application节点下配置如下代码
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="%appkey_android%"></meta-data>
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"></service>
高德定位
需要拷贝的文件
需要引入工程的jar/aar文件
需要将以下jar/aar文件放到工程的libs目录下
路径 | 文件 |
---|---|
SDK\libs(1.9.9.52372之前) | geolocation.jar,AMap_Location_V3.3.0_20170118.jar,geolocation-amap.jar |
SDK\libs(1.9.9.52372之后) | amap-libs-release.aar, geolocation-amap-release.aar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<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_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
application节点下配置如下代码
<meta-data android:name="com.amap.api.v2.apikey" android:value=\"%用户申请的APPkey%\"></meta-data>
<service android:name="com.amap.api.location.APSService"></service>
系统定位
需要拷贝的文件
需要引入工程的jar/aar文件
最新SDK使用系统定位已不需要引入任何文件
需要将以下jar文件放到工程的libs目录下(仅限旧版)
路径 | 文件 |
---|---|
SDK\lisb | geolocation.jar, geolocation-system.jar |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<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_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
收起阅读 »

Android平台离线打包地图插件配置
此文档已不再维护,请移步:https://nativesupport.dcloud.net.cn
开发者需要修改使用的地图插件时,需要修改properties.xml文件的features节点下Maps节点value属性的配置,高德地图和百度地图的配置只能保留一个
百度地图
需要拷贝的文件
需要引入工程的jar文件
需要将以下jar文件放到工程的libs目录下
路径 | 文件 |
---|---|
SDK\libs(1.9.9.52372之前) | BaiduLBS_Android_base.jar,BaiduLBS_Android_geolocation_v7.1.jar, BaiduLBS_Android_v4.3.1.jar,map-baidu.jar |
SDK\libs(1.9.9.52372之后) | baidu-libs-release.aar,map-baidu-release.aar |
需要将以下so文件放到工程的libs\armeabi目录下
(1.9.9.52372之后不需要配置此项)
路径 | 文件名 |
---|---|
SDK\libs \armeabi | libBaiduMapSDK_base_v4_3_1.so,libBaiduMapSDK_map_v4_3_1.so, liblocSDK7a.so |
SDK\libs \armeabi-v7a | libBaiduMapSDK_base_v4_3_1.so,libBaiduMapSDK_map_v4_3_1.so, liblocSDK7a.so |
SDK\libs \x86 | libBaiduMapSDK_base_v4_3_1.so,libBaiduMapSDK_map_v4_3_1.so, liblocSDK7a.so |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<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_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
application节点下配置如下代码
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="%appkey_android%"></meta-data>
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"></service>
properties.xml文件需要修改的项
properties.xml文件在assets/data目录下
features节点下添加:
<feature name="Maps" value="io.dcloud.js.map.JsMapPluginImpl"></feature>
services节点下添加:
<service name="Maps" value="io.dcloud.js.map.MapInitImpl" />
高德地图
需要拷贝的文件
需要引入工程的jar文件
需要将以下jar文件放到工程的libs目录下
路径 | 文件 |
---|---|
SDK\libs(1.9.9.52372之前) | map-amap.jar, AMap_3DMap_V2.4.1.jar, AMap_Services_V2.4.0.jar,AMap_Location_V3.3.0_20170118.jar |
SDK\libs(1.9.9.52372之后) | amap-libs-release.aar,map-amap-release.aar |
需要将以下so文件放到工程的libs\armeabi目录下
(1.9.9.52372之后不需要配置此项)
路径 | 文件名 |
---|---|
SDK\libs \armeabi | libamapv304.so, libamapv304ex.so |
需要将以下so文件放到工程的libs\armeabi-v7a目录下
(1.9.9.52372之后不需要配置此项)
路径 | 文件名 |
---|---|
SDK\libs \armeabi-v7a | libamapv304.so, libamapv304ex.so |
需要将以下so文件放到工程的libs\x86目录下
(1.9.9.52372之后不需要配置此项)
路径 | 文件名 |
---|---|
SDK\libs \x86 | libamapv304.so, libamapv304ex.so |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
<uses-permission android:name="android.permission.READ_LOGS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
application节点下配置如下代码:
<meta-data android:name="com.amap.api.v2.apikey\" android:value="%appkey_android%\">
<service android:name="com.amap.api.location.APSService"></service>
注意事项
高德地图使用的appkey和打包使用的包名及签名文件存在对应关系,填写时请注意。填写错误会导致地图无法正常使用。
properties.xml文件需要修改的项
features节点下添加
properties.xml文件在assets/data目录下
<feature name="Maps" value="io.dcloud.js.map.amap.JsMapPluginImpl"></feature>
此文档已不再维护,请移步:https://nativesupport.dcloud.net.cn
开发者需要修改使用的地图插件时,需要修改properties.xml文件的features节点下Maps节点value属性的配置,高德地图和百度地图的配置只能保留一个
百度地图
需要拷贝的文件
需要引入工程的jar文件
需要将以下jar文件放到工程的libs目录下
路径 | 文件 |
---|---|
SDK\libs(1.9.9.52372之前) | BaiduLBS_Android_base.jar,BaiduLBS_Android_geolocation_v7.1.jar, BaiduLBS_Android_v4.3.1.jar,map-baidu.jar |
SDK\libs(1.9.9.52372之后) | baidu-libs-release.aar,map-baidu-release.aar |
需要将以下so文件放到工程的libs\armeabi目录下
(1.9.9.52372之后不需要配置此项)
路径 | 文件名 |
---|---|
SDK\libs \armeabi | libBaiduMapSDK_base_v4_3_1.so,libBaiduMapSDK_map_v4_3_1.so, liblocSDK7a.so |
SDK\libs \armeabi-v7a | libBaiduMapSDK_base_v4_3_1.so,libBaiduMapSDK_map_v4_3_1.so, liblocSDK7a.so |
SDK\libs \x86 | libBaiduMapSDK_base_v4_3_1.so,libBaiduMapSDK_map_v4_3_1.so, liblocSDK7a.so |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<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_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
application节点下配置如下代码
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="%appkey_android%"></meta-data>
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"></service>
properties.xml文件需要修改的项
properties.xml文件在assets/data目录下
features节点下添加:
<feature name="Maps" value="io.dcloud.js.map.JsMapPluginImpl"></feature>
services节点下添加:
<service name="Maps" value="io.dcloud.js.map.MapInitImpl" />
高德地图
需要拷贝的文件
需要引入工程的jar文件
需要将以下jar文件放到工程的libs目录下
路径 | 文件 |
---|---|
SDK\libs(1.9.9.52372之前) | map-amap.jar, AMap_3DMap_V2.4.1.jar, AMap_Services_V2.4.0.jar,AMap_Location_V3.3.0_20170118.jar |
SDK\libs(1.9.9.52372之后) | amap-libs-release.aar,map-amap-release.aar |
需要将以下so文件放到工程的libs\armeabi目录下
(1.9.9.52372之后不需要配置此项)
路径 | 文件名 |
---|---|
SDK\libs \armeabi | libamapv304.so, libamapv304ex.so |
需要将以下so文件放到工程的libs\armeabi-v7a目录下
(1.9.9.52372之后不需要配置此项)
路径 | 文件名 |
---|---|
SDK\libs \armeabi-v7a | libamapv304.so, libamapv304ex.so |
需要将以下so文件放到工程的libs\x86目录下
(1.9.9.52372之后不需要配置此项)
路径 | 文件名 |
---|---|
SDK\libs \x86 | libamapv304.so, libamapv304ex.so |
Androidmainfest.xml文件需要修改的项
需要在application节点前添加权限
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
<uses-permission android:name="android.permission.READ_LOGS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
application节点下配置如下代码:
<meta-data android:name="com.amap.api.v2.apikey\" android:value="%appkey_android%\">
<service android:name="com.amap.api.location.APSService"></service>
注意事项
高德地图使用的appkey和打包使用的包名及签名文件存在对应关系,填写时请注意。填写错误会导致地图无法正常使用。
properties.xml文件需要修改的项
features节点下添加
properties.xml文件在assets/data目录下
<feature name="Maps" value="io.dcloud.js.map.amap.JsMapPluginImpl"></feature>
收起阅读 »