Cordova4知识点

本文详细解读了使用Cordova插件的流程,包括如何在MainActivity中加载URL,如何在自定义插件中实现原生功能如通知和更新进度,以及版本更新的处理方式。同时,强调了Cordova插件的缓存特性及其对属性修改的影响,通过实例展示了如何在执行插件方法前初始化属性以避免副作用。

1.MainActivity.java

这里是程序入口,主要是

loadUrl(launchUrl);

这里的url配置是在config.xml里面

<content src="setup/setup.html" />

2.在自定义插件中extends CordovaPlugin

Context mContext = cordova.getActivity()

Context是原生里面的那个Activity,因此在插件中可以做任何原生能做的事,比如通知,更新进度

3.关于版本更新升级的问题

如果是原生的,那么配置在AndroidManifest.xml那里,

205220_zF7V_555061.png

打包出来,到时候用getPackageManager().getPackageInfo(packageName, 0).versionCode和getPackageManager().getPackageInfo(packageName, 0).versionName获取到的就是11和Map-V3.0-21,

但是cordova官方未提供对versionName的处理,只提供了对versionCode的处理,比如你的版本需要升级,那么可以将platforms\android\build.gradle

defaultConfig {
    versionCode cdvVersionCode ?: 12
	if (cdvMinSdkVersion != null) {
	    minSdkVersion cdvMinSdkVersion
    }
}

于是你打包处理的versionCode就是12

4.cordova插件创建的类具有缓存性

意思是说插件类对象初始化创建以后就缓存好了,在应用重启之前是不会再重建的,因此如果在处理过程中修改了插件类对象的属性则需要在退出插件操作之前把所有的修改过的属性还原回来,因为下次执行插件类的方法是不会帮你重新初始化的,或者每次进插件的execute方法都把属性重新初始化一遍,举例如下:

104132_HdXP_555061.png

假如在execute中修改了cancelUpdate这个属性为true(类对象属性默认初始化为false),那么下一次执行execute的时候这个cancelUpdate就是true了,那么你就不会再“下载”到东西了。所以这里的解决方法就是每次执行execute的时候都进行初始化,

104031_Yt4D_555061.png

转载于:https://my.oschina.net/u/555061/blog/491748

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值