如何使用cordova插件怎么使用的backgroundmode插件

加群学习:&这里有4000多部学习视频,有需要的欢迎进群学习!
1、No Content-Security-Policy meta tag found. Please add one when using the cordova-plugin-whitelist plugin.解决办法index.html 中添加《meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'"》2、ionic 隐藏 nav-bar文档上来看,需要在controller中调用&&$ionicNavBarDelegate例如 .controller('DashCtrl', function ($scope, $ionicNavBarDelegate) {&&&&$ionicNavBarDelegate.showBar(false);})但没起作用。最后在模板中使用标签方法hide-nav-bar = "true"该方法起作用。3、 ng-model 与 input 值的问题例如&&&input type="text" ng-model="querystr"ng-model绑定到$scope.querystr 时,model会根据 text输入自动变化,但在controller中将$scope.querystr=''时 ,text input的值不会产生变化。并且在使用ng-model时,无法使用angular.element(document).find(selector).val("some value");方式进行赋值。解决方法是在controller 中,设置一个结构,如$scope.queryMode ={querystr:''};在input 中绑定&&ng-model = "queryModel.querystr"则controller中重设&&&$scope.queryMode.querystr = '';绑定生效,input 清空。4、cordova插件 ,在ripple中弹出错误窗口如果安装cordova插件,如keyboard,statusbar 等, 会在ripple中抛各种错,并且每次加载会弹出窗口,让你写JSON回调, 这个是ripple的BUG,不支持自定义插件, 去掉弹窗的办法是在app.js上方,即定义angular.module()的上方写
var annoyingDialog = parent.document.getElementByIdx_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x('exec-dialog');
上句中的x_x 去掉,新浪自动添加的。
if (annoyingDialog) annoyingDialog.outerHTML = "";
弹窗将不再出现,但输出窗口中的ripple.js中的错误仍会,你可以过滤,也可以不管。
5、使用极光推送,按照github上的说明文档,加入插件后总是无法编译,查看
是由于 platform/android/AndroidManifest.xml &中
meta-data android:name=JPUSH_APPKEY android:value=aaabbbbmn9QITAv0Oe
重复,每次build总会生成两条键值
经查在plug/android.json 中,有两条重复生成的语句,删掉一个,即可。6、ionic关于IFAME的调用因为使用第三方接口,会造成跑到应用外的地址,ionic无法控制外部连接回到应用,因此一般使用iframe方式打开外部连接,并加一个headbar用来返回到应用,如在modal中打开外部地址如html中&《script id="login.html" type="text/ng-template"》&&&&&&&&《ion-modal-view》&&&&&&&&&&&&《ion-header-bar align-title="center" class="bar-positive"》&&&&&&&&&&&&&&&&《div class="buttons"》&&&&&&&&&&&&&&&&&&&&《button&&class="button button-clear button-icon icon ion-ios-arrow-back"》《/button》&&&&&&&&&&&&&&&&&&&&《button ng-click="closeModal()" class="button button-clear button-icon icon "》取消《/button》&&&&&&&&&&&&&&&&《/div》&&&&&&&&&&&&&&&&《h1 class="title"》LOGIN《/h1》&&&&&&&&&&&&《/ion-header-bar》&&&&&&&&&&&&《ion-content scroll="true" class="has-header no-padding"》&&&&&&&&&&&&&&&&《iframe id="ifmr2" data-tap-disabled="true" ng-src="{{chatStru.paySrc}}"》《/iframe》&&&&&&&&&&&&《/ion-content》&&&&&&&&《/ion-modal-view》《/script》controller中$scope.tt = new Date().getMilliseconds();$scope.chatStru = {&&&&&&&&paySrc: $sce.trustAsResourceUrl('http://xxx.om/testlogin.jsp?tt='+$scope.tt),&&&&&&&&token: "",&&&&&&&&hasToken: false&&&&};$ionicModal.fromTemplateUrl('login.html', {&&&&&&&&scope: $scope,&&&&&&&&animation: 'slide-in-up'&&&&}).then(function (modal) {&&&&&&&&&&&&$scope.modal =&&&&});&&&&$scope.openModal = function () {&&&&&&&&&&$scope.modal.show();&&&&};&&&&&$scope.closeModal = function () {&&&&&&&&$scope.modal.hide();&&&&};
但这样的问题是在于,页面完成后,你必须通过手动点击返回,并且无法进行数据的传递,这个在html5中其实已经有了非常完美的解决方法就是postMessage()在远端的被iframe的页面中,加入JSwindow.onload=function(){&&&&&&&&&&&&&window.parent.postMessage('logined','*');&&&&&&&&}并在inoic的controller中加入&window.addEventListener('message', function (e) {&&&&&&&&var data = e.//这里返回的是 logined,相当于传递参数回来。&&&&&&&&$scope.modal.hide();&&&&}, false);&&你会发现,你即接收到了data,同时又关闭了该modal ,而不需要手动关闭。
当然,你可以将 addEventListener() 放到&$scope.openModal&
然后在 $scope.closeModal 中 removeEventListener()
&$scope.openModal = function () {
&&&&&&&&var tt = new Date().getMilliseconds();
&&&&&&&&$scope.chatStru.paySrc = $sce.trustAsResourceUrl('/oe/testlogin.jsp?tt=' + tt);
&&&&&&&&$scope.modal.show();
&&&&&&&&window.addEventListener('message', function (e) {
&&&&&&&&&&&&var data = e.
&&&&&&&&&&&&$scope.chatStru.hasToken =
&&&&&&&&&&&&$scope.modal.hide();
&&&&&&&&}, false);
&&&&// function to close the modal
&&&&$scope.closeModal = function () {
&&&&&&&&$scope.modal.hide();
&&&&&&&&if ($scope.chatStru.hasToken) {
&&&&&&&&&&&&window.removeEventListener('message', function () { }, false);
最终可以这样写
&var handel = function (e) {
&&&&&&&&var data = e.
&&&&&&&&if (data.id & 0) { &// 传回来的为json{id:1,msg:'aaa'}
&&&&&&&&&&&&if (!$scope.chatStru.hasToken) {
&&&&&&&&&&&&&&&&$scope.chatStru.hasToken =
&&&&&&&&&&&&}
&&&&&&&&&&&&$scope.modal.hide();
&&&&&&&&} else {
&&&&&&&&&&&&$scope.chatStru.hasToken =
&&&&$scope.openModal = function () {
&&&&&&&&var tt = new Date().getMilliseconds();
&&&&&&&&$scope.chatStru.paySrc = $sce.trustAsResourceUrl('/oe/testlogin.jsp?tt=' + tt);
&&&&&&&&$scope.modal.show();
&&&&&&&&if (!$scope.chatStru.hasToken) {
&&&&&&&&&&&&window.addEventListener('message', handel, false);
&&&&$scope.closeModal = function () {
&&&&&&&&$scope.modal.hide();
&&&&&&&&if ($scope.chatStru.hasToken) {
&&&&&&&&&&&&window.removeEventListener('message', handel, false);
&&&&};7、使用android studio 运行cordova项目直接使用platfrom目录里的gradle 可以在android studio中直接导入 cordova的项目,但运行模拟器时出现Cannot&reload&AVD&list:&cvc-enumeration-valid:&Value&'280dpi'&is&not&facet-valid&with&respect&to&enumeration&'[ldpi,&mdpi,&tvdpi,&hdpi,&xhdpi,&400dpi,&xxhdpi,&560dpi,&xxxhdpi]'.&It&must&be&a&value&from&the&enumeration.Error&parsing&D:\sdkforas\android-sdk-windows\system-images\android-22\android-wear\armeabi-v7a\devices.xmlcvc-enumeration-valid:&Value&'280dpi'&is&not&facet-valid&with&respect&to&enumeration&'[ldpi,&mdpi,&tvdpi,&hdpi,&xhdpi,&400dpi,&xxhdpi,&560dpi,&xxxhdpi]'.&It&must&be&a&value&from&the&enumeration.Error&parsing&D:\sdkforas\android-sdk-windows\system-images\android-22\android-wear\x86\devices.xml解决方法 :用/sdk/tools/lib/devices.xml去替换 system-images\android-22\android-wear\x86\devices.xml和system-images \android-22\android-wear\armeabi-v7a\devices.xml中的devices.xml8、 android studio 中 gradle 失败gradle&project&sync&failed.Basic&functionality(e.g.editing,debugging)&will&not&work&properly.解决方法:android&studio中,点击&tools&-&Android-&sync&project&with&gradles&files.9、加载远程js或css&出现&Refused&to&load&the&script&&或 Refused to load the stylesheetbecause it violates&the&following ....例如 index.html中 加载字体《link href='/css?family=RobotoDraft:400,500,700,400italic' rel='stylesheet'》可在index.html添加安全许可《meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline' script-src 'self' 'unsafe-inline' 'unsafe-eval';"》直接加根域名即可,另外不要带引号 js&&需要添加在 script-src 中。10 、 ionic 中 弹出键盘遮挡住输入框在config.xml 中修改全屏为FALSE并添加&&adjustPan&&(adjstResize没有成功)&《preference name="Fullscreen" value="False" /》&&《preference name="android-windowSoftInputMode" value="adjustPan"/》11、ionic监听滚动网上的示例xxx.bind('scroll',function(){.....}),很容易将页面跑死, 换个思路,使用监听touchvar targetPos = window.screen.availH&$("#scdiv").on("touchend", function () {if (currpos & 10 && currpos & targetPos / 4) {&&&&&&&&&&&&&&&&$ionicScrollDelegate.$getByHandle('homescroll').scrollTo(0, 0, true);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&} else if (currpos &= targetPos / 4 && currpos &= targetPos - 10) {&&&&&&&&&&&&&&&&$ionicScrollDelegate.$getByHandle('homescroll').scrollTo(0, targetPos - 64, true);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}})当触摸结束时,判断当前的位移,来做一些操作。这样在性能上提高了许多。$ionicScrollDelegate.$getByHandle 操作的是在html中定义的delegate-handle如《ion-content id="scdiv" delegate-handle="homescroll"》12、 APP开启检测网络并提示开启需要三个插件1、/apache/cordova-plugin-network-information2、/apache/cordova-plugin-dialogs3、/deefactorial/Cordova-open-native-settings然后在APP.JS中,divicesReady中$ionicPlatform.ready(function () {if (navigator.connection) {&&&&&&&&&&&&var tmptypes = navigator.connection.&&&&&&&&&&&&if (tmptypes.toUpperCase().indexOf('NONE') & -1 || tmptypes.toUpperCase().indexOf('UNKNOWN') & -1) {&&&&&&&&&&&&&&&&if (navigator.notification) {&&&&&&&&&&&&&&&&&&&&navigator.notification.confirm(&&&&&&&&&&&&&&&&&&&&'您的设备未开启网络',&&&&&&&&&&&&&&&&&&&&&&&function (buttonIndex) {&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if (buttonIndex == 1) {&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if (cordova.plugins.settings) {&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&cordova.plugins.settings.openSetting("wifi", function () { console.log("network setting openning"); }, function () { console.log("open network setting failed"); });&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&},&&&&&&&&&&&&// callback to invoke with index of button pressed&&&&&&&&&&&&&&&&&&&&&&&'提示',&&&&&&&&&&&// title&&&&&&&&&&&&&&&&&&&&&&&['开启', '取消']&&&&&// buttonLabels&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&);&&&&&&&&&&&&&&&&}&&&&&&&&&&&&}&&&&&&&&}})其中openSettings中可设置以下本地设置
var&settingNames&=&array(
&&&&"open",
&&&&"accessibility",
&&&&"add_account",
&&&&"airplane_mode",
&&&&"apn",
&&&&"application_details",
&&&&"application_development",
&&&&"application",
&&&&"bluetooth",
&&&&"captioning",
&&&&"cast",
&&&&"data_roaming",
&&&&"date",
&&&&"device_info",
&&&&"display",
&&&&"dream",
&&&&"home",
&&&&"input_method",
&&&&"input_method_subtype",
&&&&"internal_storage",
&&&&"locale",
&&&&"location_source",
&&&&"manage_all_applications",
&&&&"manage_applications",
&&&&"memory_card",
&&&&"network_operator",
&&&&"nfcsharing",
&&&&"nfc_payment",
&&&&"nfc_settings",
&&&&"print",
&&&&"privacy",
&&&&"quick_launch",
&&&&"search",
&&&&"security",
&&&&"settings",
&&&&"show_regulatory_info",
&&&&"sound",
&&&&"sync",
&&&&"usage_access",
&&&&"user_dictionary",
&&&&"voice_input",
&&&&"wifi_ip",
&&&&"wifi",
&&&&"wireless");
其中相关网络的为wifi&&移动数据开启未找到。谁试出了是哪个请告诉我13、$sate.go&&和 $stateParams 传参及收参在 controller1 中使用&&$state.go('statename',{id:1}) ;传递参数在 statename 相对应的&&controller2 中接收参数$scope.id = $stateParams.注意,此处必须在router.js 中设置 statename 的参数形式如.state('statename ', {&&&&url: '/statename ',&&&&params: { 'id': null },&&&&templateUrl: 'templates/Users/statename .html',&&&&controller: 'controller2 '})其中params: { 'id': null }, 对应$state传的参,若不设,则必为undefined14、关于ionic中想底部加一长按钮,随页面滚动位置不变,例如最初的方案是在 ion-content&&外 ion-view 内添加一层div .....style= ..... position:fixed&&&&bottom:0之类,但最终发现,在不同分辨率下位置并不正确基本可确定是因为statusbar等的缘故,仔细看了下ionic.css最终发现,太简单了div class="tabs"&&就可以了。15、php中取值问题ionic中用的$http&&method:post ,params........在PHP中用$_POST取不到值, 改成 $_Request 就行了。16、使用vs2015 release会提示使用发布配置进行调试时,Android 程序包必须已签名。要配置 Android 签名,请按照 /fwlink/?LinkID=613579 中的说明操作(该网页很难打开)实际需要在项目根目录的build.json中添加生成的keystore{&&&&&"android": {&&&&&&"release": {&&&&&&&&"keystore": "E:\\Projects\\android.keystore",&&&&&&&&"storePassword": "*******",&&&&&&&&"alias": "********",&&&&&&&&"password": "*******",&&&&&&&&"keystoreType": ""&&&&&&}&&&&&}&}至于生成keystore 请百度,只要有jdk 运行命令就OK17、ionic 的滚动优化在app.js中的config 块中,加入$ionicConfigProvider.scrolling.jsScrolling(false);默认所有的滚动使用native,会比js的滚动快很多,并且很平滑,但这样做的话,无法使用一些效果,如has-bouncing="true"(仿苹果的一种上下拉显示背景的弹性效果)那你可以在特定的view中,ion-content中加入overflow-scroll="false",则该view保持js滚动18、微信支付支付宝支付非常简单,文档也很丰富,微信的相对来说低了不止一个档次,当然最郁闷的一件事是经过了数天的查错,发现微信的totalfee 居然是以分为单位,换句话来说,你传价格时,只会有整数如果出现0.01,那必然出错。
加群学习:&这里有4000多部学习视频,有需要的欢迎进群学习!
阅读(...) 评论()28562人阅读
PhoneGap(4)
这一节,我们将看到如何通过Cordova命令行(CLI)创建新的项目,针对不同平台进行编译,并利用仿真器或真实设备进行测试。CLI是跨平台工作方式的主要工具。
当然,你也可以利用CLI进行一些项目的初始化工作,比如创建初始代码等等。稍后,你就可以针对不同平台提供的SDK进行持续开发。
以下我们以Windows下Android应用开发为例。
下载地址:
设置环境变量:
JAVA_HOME= C:\Program Files (x86)\Java\jdk1.8.0
Classpath=.;%JAVA_HOME%\lib\dt.%JAVA_HOME%\lib\tools.
具体路径根据你安装选项而定。
2) Apache Ant
下载地址:
设置环境变量:
新建ANT_HOME=C:\ant193
Path中添加:%ANT_HOME%\
3)Android SDK
运行命令行工具之前,你应该确保你已经安装了目标平台所需的SDK。以Android为例,我们可以到以下网址下载一个安装套件:
点击页面右侧的“Download the SDK ADT Bundle for Windows”下载安装。
当然你也可以逐个下载和配置,不过针对初学者我推荐下载上面的安装套件,省时省力。
其他平台的SDK,请参照官方文档:
请把SDK的路径添加到系统环境变量Path中去,总共两个。比如d:\adt-bundle\sdk\tools和d:\adt-bundle\sdk\platform-tools
4)安装Node.js
下载地址:
64位版的我试了很多次,都无法安装Cordova,暂时不清楚原因。
32位版的下载后安装正常。
5)安装Cordova
安装Node.js后,命令行执行以下语句:
npminstall -g cordova
耐心等候直至安装完成。
创建应用程序
命令行,切换到你的项目工作目录,执行以下语句创建HelloWord应用:
cordovacreate hello com.example.hello HelloWorld –d
耐心等待直至命令完成。
第一个参数hello,指定目录名称。
第二个参数com.example.hello类似C#的命名空间,或Java的包名。(不太确定,读者自行鉴别,原文写的是a reversedomain-style identifier)
第三个参数指定了应用程序的显示标题。
完成后可以查看Hello目录及其子目录结构。
添加特定平台支持
注意,以下所有命令都要在项目根目录下运行(用cd命令进入)。
首先,你需要添加你所需要支持的平台,比如:
cordovaplatform add android
cordovaplatform add ios
注:貌似ios开发只能在Mac机器上进行,所以上面的add ios不会出现在Windows机器上。
完成后运行以下命令查看:
cordovaplatfrom list
如果以后需要移除Android平台支持,可以运行:
cordovaplatform rm android
运行platform add或platform rm命令会影响项目目录下的内容。每一个被添加的平台会在项目根目录下的platform下产生一个对应平台的子目录。你可以看到各个平台下也存在www目录,比如platforms\android\assets\www。因为CLI会不断的复制项目根目录下的www中的内容,所以你应确保不要对平台下的www目录中的内容进行修改。如果你实在有这个需求,请参照本章末尾的“Merges目录”。
如果你使用CLI管理你的项目,请尽量不要更改platforms目录下的任何内容,除非你有明确的把握知道你在做什么。这是因为该目录下的内容会在一些条件下被覆盖。
如果你希望此时能通过针对特定平台的SDK(比如Eclipse)来进行开发,你应该打开那些位于platforms子目录下的内容。这是因为平台相关的一些配置信息是存储在platforms特定子目录下的。
编译应用程序
默认情况下,cordova create脚本将创建一个非常简单的基于Web的应用程序。
运行以下命令编译应用程序:
cordovabuild
cordovabuild android& //只针对Andorid平台编译
如果最终提示:BUILD SUCCESSFUL,则编译成功。
实际上build命令对应于以下两个命令:
cordovaprepare android
cordovacompile android
这意味着你可以仅执行prepare命令,然后用SDK开发环境去另外编译。
仿真器中测试
打开Eclipse,选择菜单New--&Project-&Android-&AndroidProject From Existing Code,选择项目根目录为hello\platforms\android,并确保hello和hello-CordoraLib两个项目均被选中。(需要选中hello-CorodoraLib项目是因为这个项目将取代传统的.jar文件)
如果项目名上有红色的叉叉,则代表有未解决的问题。此时可以尝试:
1) 项目名上点击右键,选择Properties。
2) 选中左侧导航栏中的Android。
3) 在右侧选中对应的目标平台。比如Android4.4。
4) 点击OK。
稍后,在Eclipse中启动Android SDK Manager。如下图:
打开Manger后,点击菜单Tools-&Manage AVDs…,然后点击Device definitions栏,如下图:
选择一个你想要的仿真器,然后点击Create AVD,接受默认设置即可。完成后你将在列表中看到新建的仿真器。
在列表中选中仿真器,点击窗体右侧的“Start”按钮启动仿真器(启动提示窗口中点击Launch即可)。
项目名称上点击右键,选择Run As-&Android Application,然后耐心等待仿真器加载。
如果你的CPU支持虚拟化技术,你可以参照相关文档进行设置以提高仿真器运行效率。
加载后你就可以通过操作仿真器看到你的第一个Android程序,如下:
或者你也可以在命令行中运行以下命令启动仿真器:
cordovaemulate android
添加插件支持(原文:Add Plugin Features)
如以上我们看到的,Cordova默认提供的程序界面和功能非常简单。当然你可以根据你的需要,运行标准Web开发技术对页面进行设计。但是当你需要和不同的设备进行通讯交互时,你就需要借助于一些插件,以便能够访问Cordova提供的核心API。
一般来说,你添加一个插件的目的是为了利用Cordova的API访问设备。详细的可用插件列表你可以在社区中看到()。当然你也可以自定义自己的插件。
你可以用CLI搜索可用的插件,比如:
cordovaplugin search bar code
你可以通过以下命令安装插件,比如:
cordovaplugin add org.apache.cordova.device&&&&& &&&&&&&&&&&&&//设备API
cordovaplugin add org.apache.cordova.network-information& //网络(事件)
cordovaplugin add org.apache.cordova.battery-status&&&&&&//电池(事件)
cordovaplugin add org.apache.cordova.device-motion&&&&&//加速器
cordovaplugin add org.apache.cordova.device-orientation&&&&&//罗盘
cordovaplugin add org.apache.cordova.geolocation&&&&&&&&&//定位
cordovaplugin add org.apache.cordova.camera&&&&&&&&&&&&&&&&&//摄像头
cordovaplugin add org.apache.cordova.media-capture&&&&&//媒体文件处理
cordovaplugin add org.apache.cordova.media&&&&&&&&&&&&&&&&&&&//媒体文件处理
cordovaplugin add org.apache.cordova.file&&&&&&&&&&&&&&&&& &&&&&&//文件访问
cordovaplugin add org.apache.cordova.file-transfer&&&&&&&&&&//文件传输
cordovaplugin add org.apache.cordova.dialogs&&&&&&&&&&&&&&&&&//对话框
cordovaplugin add org.apache.cordova.vibration&&&&&&&&&&&&&&//震动
cordovaplugin add org.apache.cordova.contacts&&&&&&&&&&&&&&&//联系人
cordovaplugin add org.apache.cordova.globalization&&&&&&&//全球化
cordovaplugin add org.apache.cordova.splashscreen&&&&&&&//闪屏
cordovaplugin add org.apache.cordova.inappbrowser&&&&&&&&&&&&&//打开新的浏览器窗口
cordovaplugin add org.apache.cordova.console&& &&&&&& &&&&&&//调试控制台
你可以用以下命令查看所有已经安装的插件
cordovaplugin ls
使用以下命令删除插件:
cordovaplugin rm org.apache.cordova.console&&&&
Plugin add高级选项
上面的安装方式是从registry.cordova.io库中按照id获取插件,这是一个非常通用的做法。你可以在安装时指定版本,比如:
cordovaplugin add
cordovaplugin add
其中的latest表示获取最新版本。中间用@分隔。
如果插件不是在默认库中,而是在其他地方,则你可以指定URL:
cordovaplugin add
当然你需要先安装git。
前面提到,一般情况下最好不要修改各自平台下的www目录下的文件。但是如果你确实需要为某个平台定制一些内容,又该怎么办呢?
项目根目录下有一个merges目录。我们以一个实例来讲解:
1) 修改www\css目录下的index.css文件,设置event.received的样式为红色:& background-color:#FF0000;
2) 修改platforms\android\assets\www\css中的index.css文件,设置.event.received的样式为蓝色:background-color:#0000FF;
3) 在merges\android目录下新建一个css目录。
复制www\css中的index.css文件到该目录下。
修改该目录下的index.css文件中的.event.received的样式为绿色:background-color:#
仿真器中运行,你会发现最终呈现的结果为绿色。由此我们可知:
1) Merges目录中没有对应文件时,platform下的文件会被跟目录(www)下的文件覆盖。(即:如果Merges目录中不存在index.css文件,最终颜色将为红色)
2) Merges目录中存在对应文件时,platform下的文件会被merges下的文件覆盖。可见Merges目录主要用于为平台定制功能。
通过以下命令查看帮助信息:
cordovahelp
以下语句更新cordova:
npmupdate -g cordova
cordova更新完成后,你还需要更新项目:
cordovaplatform update android
因为各版本之间差异较大,执行更新时请事先仔细阅读官方文档,以免发生数据丢失或错误。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:212046次
积分:2114
积分:2114
排名:第12990名
原创:26篇
评论:73条
(2)(1)(1)(5)(2)(11)(4)(1)转载自 http://my.oschina.net/u/1416844/blog/495026#OSC_h3_3
摘要 本文把ng-cordova的中文解释网址做了一个总结,插件下载的地址就是官网的地址,有些下载的安装完毕会在cmd中告诉你官网地址是哪里
这个插件将打开你的设备文件系统的文件,用默认应用程序。判断系统是否安装了某个软件
这个插件允许你上传和下载文件。
一个插件来访问设备的文件和目录。
使用插件调用原生sqlite接口,用HTML5 Web SQL API
该动作片插件显示用户可以选择的一种本地的选项。iOS使用本地UIActionSheet。Android使用原生的警告对话框。
AdMob的广告插件了AdMob在移动应用/游戏从原生JavaScript。
appavailability插件允许你检查,一个应用程序是否安装在用户的设备。它需要一个URI表(如推特:/ /)在iOS或包的名称(如COM。推特Android Android上。)。
从目标构建设置读取应用程序的版本。
访问和各种移动平台包括iOS应用程序图标修改的徽章数量,Android和Windows手机。
条码扫描插件打开相机视图和自动扫描条形码,返回数据给你。
手电筒插件
触发警报,确认,并提示窗口,或发出哔哔声(哔哔,哔哔!)
这个插件提供了设备的加速度计。该加速度计是一个运动传感器,检测到的变化(三角洲)的运动相对于当前的设备方向,在三个维度沿的×,和轴。
这个插件提供了访问该设备的指南针。指南针是一个传感器,该传感器可以检测到该设备的方向或标题,通常来自设备的顶部。它衡量的程度从0到359.99,其中0是北。
抓取当前位置的用户,或抓取连续位置的变化:
$cordovaGlobalization
不清楚干什么用的:
apprate插件可以很容易地提示用户对你的应用程序,无论是现在还是以后,还是永远。貌似是提示升级
地理定位对电池节能的“循环监测”和“停止检测”。(不知道干什么用的)
在设备上创建、删除和搜索的强大方法。(不知道干什么用的)
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1565次
排名:千里之外
(1)(1)(5)(3)

我要回帖

更多关于 cordova插件使用 的文章

 

随机推荐