HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

Android平台通过native.js实现接收系统消息,如监听安装卸载apk事件

Native.JS 广播 Broadcast

今天以监听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的文章

入门 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创建最简Android原生工程

开发者使用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创建最简Android原生工程

开发者使用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的??谢谢。。。。。

日历 pim Native.JS

一个简单的原生日历提醒插入。。。。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>

微信支付配置

微信appkey申请方法

需要拷贝的文件

需要引入工程的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>

微信支付配置

微信appkey申请方法

需要拷贝的文件

需要引入工程的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>
收起阅读 »