扩展程序运行时的宿主环境 所有由宿主APP直接提供给扩展程序的接口均列在这里. 主要包括原生业务页面, 本地数据访问等
Example
import {Host} from 'miot'
Host.type // ios/ android/ tv
Host.isIOS
Host.isAndroid
Host.version
Host.apiLevel
Host.isDebug
Host.ui.openDeviceListPage()
Host.ui.openShopPage(100)
Host.locale.language
Host.locale.timezone
Host.locale.currentTimeMillis.then(time=>{})
Host.locale.getCurrentCountry().then(country=>{})
Host.locale.getPlaceMark().then(place=>{})
Host.locale.getGPS().then(gps=>{})
Host.file.readFile(path).then(file=>{})
Host.file.writeFile(path, file).then(ok=>{})
Host.storage.get(key)
Host.storage.set(key, value)
Members
(static, constant) apiLevel :int
APP 的 apiLevel
(static, constant) appConfigEnv :int
获取 米家APP中 我的-->开发者设置-->其他设置, AppConfig接口拉取preview版数据 是否选中的状态 1:表示选中, preview ; 0:表示未选中, release 如果选中,Service.smarthome.getAppConfig 获取的数据为preview版数据, 反之为release版数据
- Since:
- 10024
(static, constant) applicationEdition :int
是否是国际版APP 国内版1 国际版2 欧洲版3
(static, constant) audio
音频 播放,录制,转码相关模块
(static, constant) crypto
加密解密模块
(static, constant) file
本地文件服务模块
(static, constant) isAndroid :boolean
判断是否是 android
(static, constant) isDebug :boolean
判断是否是调试版本
(static, constant) isIOS :boolean
判断是否 iOS,和上面那个方法二选一即可
(static, constant) locale
host 的本地化设置, 包括语言,地区,城市等等
(static, constant) storage
本地数据存储服务模块
(static, constant) systemInfo :object
系统信息 包含sysVersion 系统版本名称 mobileModel 手机型号
(static, constant) type :string
返回本地环境的类型, ios|android
(static, constant) ui
可调起的host业务页面
- See:
(static, constant) version :string
APP 的版本, 例如"1.0.0"
Methods
(static) createBackgroundExecutor(jx, initialProps) → {Promise.<IExecutor>}
后台执行文件, 后台最多同时运行三个线程, 超过将销毁最早创建的 executor
Parameters:
Name | Type | Description |
---|---|---|
jx |
* | 可执行的纯 js 文件, 不使用任何高级语法, 如要使用 es6, 请自行编译通过. |
initialProps |
json | 用于脚本初始化的数据, 在jx文件中为 'initialProps' 对象,使用方法参考样例 或者sampleProject中 ‘com.xiaomi.demo/Main/tutorial/JSExecutor.js’ |
- Since:
- 10002
Example
var myexecutor = null;
Host.createBackgroundExecutor(require('./test.jx'), {name1:"testName"})
.then(executor=>{
myexecutor = executor;
executor.execute("myFunc", 1,2,'a')
.then(result=>{
console.log(result);
})
//支持使用initialProps或者在jx中直接使用
executor.execute("myFunc2", "initialProps.name1").then(res =>{...})
//支持使用obj与arr
executor.execute("SomeObject.myFunc3", {"name":"hello"}, ["a1","a2"]).then(res =>{...})
})
.then(err=>{...})
....
myexecutor&&myexecutor.remove();
(static) getAppName()
获取APP名称
(static) getCurrentCountry()
获取当前登陆用户的服务器国家
- Since:
- 10010
- Deprecated:
- 10011 改用 Service.getServerName
(static) getOperatorsInfo() → {Promise}
获取手机运营商信息 返回值中: name 运营商名称-与手机语言一致 simOperator 运营商 国家编码(三位)+网络编码 参考 https://en.wikipedia.org/wiki/Mobile_country_code countryCode 运营商国家码,ISO 3166-1 country code
- Since:
- 10021
(static) getPhoneScreenInfo() → {Promise}
获取Android手机屏幕相关信息(包括状态栏高度)
- Since:
- 10012
(static) getWifiInfo() → {Promise}
获取手机wifi信息
Example
Host.getWifiInfo().then(res => console("ssid and bssid = ", res.SSID, res.BSSID))
(static) pageShouldAdapterSoftKeyboard(shouldAdapter) → {Promise}
页面有输入框,需要打开软键盘,页面适配软键盘
Parameters:
Name | Type | Description |
---|---|---|
shouldAdapter |
boolean | true: 表示进行适配,建议UI用ScrollView包裹起来,当输入框在屏幕的下半部分时,只会触发ScrollView滚动; false: 整个页面滚动, demo可参考SoftKeyboardAdapterTestDemo.js |
- Since:
- 10027
(static) phoneHasNfcForAndroid() → {Promise}
android 手机是否有NFC功能
- Since:
- 10021
Example
Host.phoneHasNfcForAndroid().then(res => console(res))
Type Definitions
IExecutor
jx执行器
Properties:
Name | Type | Description |
---|---|---|
isReady |
boolean | 是否可用 |
isRunning |
boolean | 是否运行中 |
execute(method, |
* | ...args) - 执行某个函数 |
remove() |
删除 |
- Since:
- 10002