扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
可以的,Html5相比其他语言,更容易手机用户数据,且功能更丰富,而且Html5兼容性好,针对不同平台,只需要做简单修改就可以,甚至无需修改。
成都创新互联公司服务项目包括开鲁网站建设、开鲁网站制作、开鲁网页制作以及开鲁网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,开鲁网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到开鲁省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
获取手机设备的相关信息,如IMEI、IMSI、型号、厂商等。通过plus.device获取设备信息管理对象。
获取当前运行环境信息、与其它程序进行通讯等。通过plus.runtime可获取运行环境管理对象。
直接上demo
注意:
获取IP地址和plus.device.getInfo都是异步的,所以在使用的时候要注意时机
效果图:
Android和IOS获取imei、imsi、uuid时须知:
imei: (String 类型 )设备的国际移动设备身份码
如果设备不支持或无法获取(如用户未授权)则返回空字符串。 如果设备存在多个身份码,则以“,”字符分割拼接,如“862470039452950,862470039452943”。
平台支持
imsi: (Array[ String ] 类型 )设备的国际移动用户识别码
字符串数组类型,获取设备上插入SIM的国际移动设备身份码。 如果设备支持多卡模式则返回所有SIM身份码。 如果设备不支持或没有插入SIM卡则返回空数组。
平台支持
uuid: (String 类型 )设备标识
设备的唯一标识号。
平台支持
其他的属性和方法,参考html5plus官网:
Github
个人博客
图片看不清,
是不是有个东西引入的路径错了,导致plus未定义。
看下plus在哪里定义的。或者需要自己在页面上定义。
Runtime
Runtime模块管理运行环境,可用于获取当前运行环境信息、与其它程序进行通讯等。通过plus.runtime可获取运行环境管理对象。
属性:
version获取客户端的版本号
innerVersion获取客户端运行时环境的版本号
arguments获取第三方程序调用时传递给程序的参数
appid获取当前应用的APPID
方法:
getProperty获取指定APPID对应的应用信息
install安装应用
quit退出客户端程序
restart重启当前的应用
setBadgeNumber设置程序快捷方式上显示的提示数字
openURL调用第三方程序打开指定的URL
openFile调用第三方程序打开指定的文件
launchApplication调用第三方程序
对象:
WidgetOptionJSON对象,应用安装参数
WidgetInfoJSON对象,应用信息
OpenFileOptionJSON对象,打开文件参数
ApplicationInfJSON对象,打开第三方程序参数
回调方法:
InstallSuccessCallback安装应用成功回调函数
InstallErrorCallback安装应用失败回调函数
GetPropertyCallBack获取应用属性成功回调函数
OpenErrorCallback打开本地文件或URL失败回调函数
LaunchErrorCallback调用第三方程序失败回调函数
getProperty
获取指定APPID对应的应用信息
void plus.runtime.getProperty( appid, getPropertyCB );
说明:
获取指定APPID对应的应用信息
参数:
appid (DOMString) 可选 应用的Appid
getPropertyCB (GetPropertyCallBack) 可选 获得应用信息成功回调函数
返回值:
无
平台支持:
Android : 2.2+
支持
iOS : 4.3+
支持
WP : 7.5+
暂不支持
示例:
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
}
// 获取应用信息
function getAppInfo() {
plus.runtime.getProperty( plus.runtime.appid, function ( wgtinfo ) {
//appid属性
var wgtStr = "appid:"+wgtinfo.appid;
//version属性
wgtStr += "
version:"+wgtinfo.version;
//name属性
wgtStr += "
name:"+wgtinfo.name;
//description属性
wgtStr += "
description:"+wgtinfo.description;
//author属性
wgtStr += "
author:"+wgtinfo.author;
//email属性
wgtStr += "
email:"+wgtinfo.email;
//licence属性
wgtStr += "
license:"+wgtinfo.license;
//licensehref属性
wgtStr += "
licensehref:"+wgtinfo.licensehref;
//features 属性
wgtStr += "
features:"+wgtinfo.features;
console.log( wgtStr );
} );
}
获取应用信息
install
安装应用
void plus.runtime.install( wgtFilePath, options, installSuccessCB, installErrorCB);
说明:
安装包格式为wgt应用,其扩展名为'.wgt',使用这个方法之前,需要提前把安装包从网络处或其他位置放置到运行时环境可以访问的位置。
参数:
wgtFilePath (DOMString) 可选 应用安装文件或基座安装文件(扩展名为'.wgt')
options (WidgetOption) 可选 应用安装设置的参数
installSuccessCB (InstallSuccessCallback) 可选 正确安装后的回调
installErrorCB (InstallErrorCallback) 可选 安装失败的回调
返回值:
无
平台支持:
Android : 2.2+
支持,支持apk包的安装
iOS : 4.3+
支持,不支持ipa包的安装
WP : 7.5+
暂不支持
quit
退出客户端程序
void plus.runtime.quit();
说明:
退出客户端程序
返回值:
无
平台支持:
Android : 2.2+
支持
iOS : 4.3+
iOS系统不支持此功能,只能通过设备的Home键退出应用。
WP : 7.5+
暂不支持
示例:
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
plus.key.addEventListener( "backbutton", onKeyBack, false );
}
function onKeyBack() {
plus.runtime.quit();
}
restart
重启当前的应用
void plus.runtime.restart();
说明:
重启当前的应用
返回值:
无
平台支持:
Android : 2.2+
支持
iOS : 4.3+
支持
WP : 7.5+
暂不支持
示例:
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
}
// 重启当前的应用
function restartApp() {
plus.runtime.restart();
}
重启当前的应用
Restart
setBadgeNumber
设置程序快捷方式上显示的提示数字
void plus.runtime.setBadgeNumber( number );
说明:
设置程序快捷方式上显示的提示数字
参数:
number (DOMString) 可选 在快捷方式上显示的数字,参数为0则表示清除提示数字。
返回值:
无
平台支持:
Android : 2.2+
支持
iOS : 4.3+
支持
WP : 7.5+
暂不支持
示例:
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
}
// 设置数字
function setBadge() {
plus.runtime.setBadgeNumber(8);
}
// 清除数字
function clearBadge() {
plus.runtime.setBadgeNumber(0);
}
设置程序快捷方式上显示的提示数字
openURL
调用第三方程序打开指定的URL
void plus.runtime.openURL( url, errorCB, identity );
说明:
调用第三方程序打开指定的URL
参数:
url (DOMString) 可选 字符串类型,各平台支持的地址类型存在差异,参考平台URL支持表。
errorCB (OpenErrorCallback) 可选 打开指定URL地址失败时回调,并返回失败信息。
identity (DOMString) 可选 在iOS平台此参数被忽略,在Android平台为程序包名,如果指定的包名不存在,则打开URL地址失败。
返回值:
无
平台支持:
Android : 2.2+
支持
iOS : 4.3+
支持,不支持identity参数
WP : 7.5+
支持,不支持identity参数
openFile
调用第三方程序打开指定的文件
void plus.runtime.openFile( filepath, options, errorCB );
说明:
调用第三方程序打开指定的文件
参数:
filepath (DOMString) 可选 字符串类型,文件路径必须是本地路径,否则会导致打开文件失败。
options (OpenFileOption) 可选 打开文件的参数,参考OpenFileOption对象。
errorCB (OpenErrorCallback) 可选 打开文件操作失败时回调,返回失败信息。
返回值:
无
平台支持:
Android : 2.2+
支持
iOS : 4.3+
支持
WP : 7.5+
支持
示例:
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
}
// 打开文件操作
function testFile() {
plus.runtime.openFile( "_doc/a.pdf" );
}
调用第三方程序打开文件
launchApplication
调用第三方程序
void plus.runtime.launchApplication( appInf, errorCB );
说明:
调用第三方程序
参数:
appInf (ApplicationInf) 可选 要启动第三方程序的描述信息
errorCB (LaunchErrorCallback) 可选 启动第三方程序失败时回调,并返回失败信息。
返回值:
无
平台支持:
Android : 2.2+
支持
iOS : 4.3+
支持
WP : 7.5+
暂不支持
示例:
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
}
// 调用第三方程序
function launchApp() {
if ( plus.os.name == "Android" ) {
plus.runtime.launchApplication( {pname:"com.android.browser"
,extra:{url:""}}, function ( e ) {
alert( "Open system default browser failed: " + e.message );
} );
} else if ( plus.os.name == "iOS" ) {
plus.runtime.launchApplication( {action:""}, function ( e ) {
alert( "Open system default browser failed: " + e.message );
} );
}
}
调用第三方程序
version
获取客户端的版本号
plus.runtime.version;
说明:
客户端版本号,字符串类型,在编译环境中设置的版本号。
平台支持:
Android : 2.2+
支持
iOS : 4.3+
支持
WP : 7.5+
暂不支持
innerVersion
获取客户端运行时环境的版本号
plus.runtime.innerVersion;
说明:
运行时环境版本号,格式为:[主版本号].[次版本号].[修订版本号].[编译代号]。
平台支持:
Android : 2.2+
支持
iOS : 4.3+
支持
WP : 7.5+
暂不支持
arguments
获取第三方程序调用时传递给程序的参数
plus.runtime.arguments;
说明:
第三方程序传递过来的参数,字符串格式类型数据。 不是由第三方程序调用启动,则返回空字符串。
平台支持:
Android : 2.2+
支持,把第三方传递过来的参数组合成JSON格式字符串,如“{"name":"XiaoMing","password":"123456"}”
iOS : 4.3+
支持,把第三方传递过来的参数,去掉前缀,如“name=XiaoMingpassword=”,建议第三方程序传递JSON格式字符串
WP : 7.5+
暂不支持
appid
获取当前应用的APPID
plus.runtime.appid;
说明:
当前应用的APPID,字符串类型。注意,如果是在HBuilder真机运行获取的是固定值“HBuilder”,需要提交App云端打包后运行才能获取真
实的APPID值。
平台支持:
Android : 2.2+
支持
iOS : 4.3+
支持
WP : 7.5+
支持
WidgetOption
JSON对象,应用安装参数
说明:
可通过对象设置安装的应用是否进行appid校验、版本号校验等。
属性:
appid:DOMString,只读属性,默认值 null。当前正在安装的应用的appid,填写该值后应用安装时将进行校验,如安装包内的appid和指定
的不同则终止当前应用的安装
force:Boolean,只读属性,默认值 false。当取值为true,应用安装为强制安装,不再进行版本号的校验,如果为false则进行版本号校验
,如果将要安装应用的版本号不高于现有应用的版本号则终止安装,并返回安装失败
WidgetInfo
JSON对象,应用信息
属性:
appid:DomString,应用的APPID
version:DomString,应用的版本号
name:DomString,应用的名称
description:DomString,应用描述信息
author:DomString,应用描述信息
email:DomString,开发者邮箱地址
license:DomString,应用授权描述信息
licensehref:DomString,应用授权说明链接地址
features:DomString[],应用许可特性列表
OpenFileOption
JSON对象,打开文件参数
属性:
popover:json,JSON对象,格式如{top:10;left:10;width:200;height:200;},所有值为像素值,左上坐标相对于容器webview的位置。仅
在iPad设备平台有效。
ApplicationInf
JSON对象,打开第三方程序参数
属性:
pname:DOMString,仅Android平台支持,表示程序的包名,其它平台忽略此属性值。
action:DOMString,Android平台上与系统的action值一致;iOS平台为要调用程序的URLScheme格式字符串。
extra:JSON,仅Android平台支持,为JSON格式,用于传递给要调用程序的参数,如extra:{url:""}。
InstallSuccessCallback
安装应用成功回调函数
void onSuccess(widgetInfo){
// Code here
}
说明:
安装应用成功回调函数
参数:
widgetInfo (WidgetInfo) 必选 应用信息,参见:WidgetInfo
平台支持:
Android : 2.2+
支持,如安装文件为APK,则不触发此回调函数
iOS : 4.3+
支持
WP : 7.5+
暂不支持
InstallErrorCallback
安装应用失败回调函数
void onError(error){
// Handle the error
}
说明:
安装应用失败回调函数
参数:
error (DOMException) 必选 安装失败的错误信息
平台支持:
Android : 2.2+
支持
iOS : 4.3+
支持
WP : 7.5+
暂不支持
GetPropertyCallBack
获取应用属性成功回调函数
void onGetPropertyCB(widgetInfo){
// Code here
}
说明:
获取应用属性成功回调函数
参数:
widgetInfo (WidgetInfo) 必选 应用信息,参见:WidgetInfo
平台支持:
Android : 2.2+
支持
iOS : 4.3+
支持
WP : 7.5+
暂不支持
OpenErrorCallback
打开本地文件或URL失败回调函数
void onError(error){
// Handle the error
}
说明:
打开本地文件或URL失败回调函数
参数:
error (DOMException) 必选 打开操作失败的错误信息
平台支持:
Android : 2.2+
支持
iOS : 4.3+
支持
WP : 7.5+
暂不支持
LaunchErrorCallback
调用第三方程序失败回调函数
void onError(error){
// Handle the error
}
说明:
调用第三方程序失败回调函数
参数:
error (DOMException) 必选 操作失败的错误信息
平台支持:
Android : 2.2+
支持
iOS : 4.3+
支持
WP : 7.5+
暂不支持
我们在开发 App 应用中,经常会遇到打开第三方程序的场景,比如打开手机淘宝、通过第三方浏览器打开一个 url 等等。
App不像网页可以使用http超链接互相跳转,但手机os设计了scheme机制,可以通过特殊的链接互相调起。
比如手机淘宝,其安装后会在手机os中会注册一个scheme协议, taobao:// 。
这种协议还支持参数,比如 taobao://s.taobao.com/search?q=uni-app 启动淘宝并打开搜索页面搜索uni-app。
在uni-app/5+App中,可以通过scheme呼起其他App,也支持给自己的App设置scheme参数。
这个功能小程序并不支持,属于App端的扩展API。
打开外部scheme的API是 plus.runtime.openURL() 。查看文档:
打开第三方程序,我们需要使用 runtime 模块,下面我罗列两个相关的方法。其他操作请详读文档。
除了简单的打开App,我们更多的时候想要直达。这里汇总了很多有用的直达案例:
可在manifest中可配置。
Android配置方法
iOS配置方法
mui是Dcloud公司封装的一套ui框架,该框架封装了我们在做界面开发时常用到的一些元素并为它们定义好了样式,开发时可以直接使用,不需要自己再去写样式,如:文本框,图文列表,选择框等,能使我们开发界面更快捷(主要用于移动设备界面开发)
html5 plus是Dcloud公司封装的一套js;通过该js可以调用移动设备能力,如:相机,相册,电话簿等等;目的是使:用html5开发的app能用拥有类似原生app的体验
一般使用Dcloud公司框架开发混合app时使用到:hbuilder(开发工具)+mui(ui框架)+html5 plus(调用移动设备能力)
所以两者没有必然联系,只是配合使用,你css厉害可以抛弃mui,只使用html5 plus一样可以开发app;
以上是个人见解。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流