# UTSAndroid

app-android平台专有内置对象。在uni-app和uni-app x的uts环境中均可使用。

# 静态方法

# onAppConfigChange

监听 App配置发生变化, 对应 android原生 onAppConfigChange

参数

名称 类型 必填 默认值 兼容性 描述
callback (res: UTSJSONObject) => void - - -

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90

# offAppConfigChange

onAppConfigChange 对应的反注册函数

参数

名称 类型 必填 默认值 兼容性 描述
callback (res: UTSJSONObject) => void - - -

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90

# onAppTrimMemory

注册监听 App 内存不足时的系统回调函数 对应原生的API: onTrimMemory

参数

名称 类型 必填 默认值 兼容性 描述
callback (res: Number) => void - - -

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90

# offAppTrimMemory

onAppTrimMemory 对应的反注册函数。

参数

名称 类型 必填 默认值 兼容性 描述
callback (res: Number) => void - - -

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90

# onAppActivityPause

注册监听 activity onPause事件

参数

名称 类型 必填 默认值 兼容性 描述
callback () => void - - -

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
UTSAndroid.onAppActivityPause(() => {
    let eventName = "onAppActivityPause - " + Date.now();
    console.log(eventName);
});

# offAppActivityPause

onAppActivityPause 对应的反注册函数

参数

名称 类型 必填 默认值 兼容性 描述
callback () => void - - -

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
// 移除全部监听
UTSAndroid.offAppActivityPause();
// 移除指定监听
UTSAndroid.offAppActivityPause(() => {
});

# onAppActivityResume

注册监听 activity onResume事件

参数

名称 类型 必填 默认值 兼容性 描述
callback () => void - - -

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
UTSAndroid.onAppActivityResume(() => {
     let eventName = "onAppActivityResume - " + Date.now();
     console.log(eventName);
});

# offAppActivityResume

onAppActivityResume 对应的反注册函数

参数

名称 类型 必填 默认值 兼容性 描述
callback () => void - - -

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
// 移除全部监听
UTSAndroid.onAppActivityResume();
// 移除指定监听
UTSAndroid.onAppActivityResume(() => {
});

# onAppActivityDestroy

注册监听 activity onDestroy事件

参数

名称 类型 必填 默认值 兼容性 描述
callback () => void - - -

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
UTSAndroid.onAppActivityDestroy(() => {
     let eventName = "onAppActivityDestroy- " + Date.now();
     console.log(eventName);
});

# offAppActivityDestroy

onAppActivityDestroy 对应的反注册函数。

参数

名称 类型 必填 默认值 兼容性 描述
callback () => void - - -

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
// 移除全部监听
UTSAndroid.offAppActivityDestroy();
// 移除指定监听
UTSAndroid.offAppActivityDestroy(() => {
});

# onAppActivityResult

注册监听 activity onAppActivityResult 函数

参数

名称 类型 必填 默认值 兼容性 描述
callback (requestCode: Int, resultCode: Int, data: any) => void - - 用于监听的响应函数

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90

App 的 activity 启动其他activity的回调结果监听 对应原生的 onActivityResult

需要特别注意的是 requestCode 参数,这个参数用于区别 不同的请求来源,开发者应该只处理自己发起请求

let customRequestCode = 12000

UTSAndroid.onAppActivityResult((requestCode: Int, resultCode: Int, data?: Intent) => {
	if(requestCode == 12000){
		// 我们发起的请求
		let eventName = "onAppActivityResult  -  requestCode:" + requestCode + " -resultCode:"+resultCode + " -data:"+JSON.stringify(data);
    	console.log(eventName);
	}else{
		// 别的代码发起的请求,不要处理
	}

});

# offAppActivityResult

onAppActivityResult 对应的反注册函数。

参数

名称 类型 必填 默认值 兼容性 描述
callback (requestCode: Int, resultCode: Int, data: any) => void - - -

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
// 移除全部监听
UTSAndroid.offAppActivityResult();
// 移除指定监听
UTSAndroid.offAppActivityResult(() => {
});

# onAppActivityBack

注册监听 activity onAppActivityBack 函数

参数

名称 类型 必填 默认值 兼容性 描述
callback () => void - - 用于监听的响应函数

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
UTSAndroid.onAppActivityBack(() => {
     let eventName = "onAppActivityBack- " + Date.now();
     console.log(eventName);
});

# offAppActivityBack

取消注册监听 activity onAppActivityBack 函数

参数

名称 类型 必填 默认值 兼容性 描述
callback () => void - - -

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
// 移除全部监听
UTSAndroid.offAppActivityBack();
// 移除指定监听
UTSAndroid.offAppActivityBack(() => {
});

# getAppContext()

获取当前应用Application上下文,对应android平台 Context.getApplicationContext 函数实现

HBuilderX4.31及以上版本推荐使用 getApp().getAndroidApplication() 获取android原生 Application

返回值

类型 描述
Context | null 当前应用程序 上下文实例对象

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
let packageName = UTSAndroid.getAppContext()?.packageName
console.log("packageName",packageName)

# getUniActivity()

获取当前应用 栈顶的 Activity实例,对应android平台 getActivity 函数实现

在uvue页面中也可先通过 uni.getElementById 获取节点元素对象 UniElement,在调用其 getAndroidActivity 获取android原生 Activity

返回值

类型 描述
Activity | null 当前应用栈顶的 Activity实例

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
// 获取第一个可以响应图像采集行为组件
let takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(UTSAndroid.getUniActivity()!.getPackageManager()) != null) {
	UTSAndroid.getUniActivity()!.startActivityForResult(takePictureIntent, 1001);
}

# getResourcePath(resourceName:string)

获取资源文件的原生路径。

参数

名称 类型 必填 默认值 兼容性 描述
resourceName string - - 资源文件相对于工程的绝对路径, 如:“/static/logo.png”

返回值

类型 描述
string 该资源在原生目录下的路径

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90

注意事项

getResourcePathconvert2AbsFullPath 区别在于:

getResourcePath 屏蔽了读取代码包文件时 各平台/各模式下的底层细节,即使是存放在asset目录也会返回符合android 读取规范的协议地址

convert2AbsFullPath 没有实现这一点

当开发者需要读取代码包文件时,建议使用 getResourcePath

  • 代码包文件
    • 代码包文件真机运行云打包模式下的释放策略不同:
      本地真机运行:会被存在放内置储存目录
      云打包: uni-app x项目会被存放在asset目录, uni-app 项目默认会被存放在内置储存目录
      因此 uni-app/uni-app x 平台对 代码包文件 均仅支持读取操作
  • 本地磁盘文件
/**
 * 代码包文件在真机运行模式下:
 * /storage/emulated/0/Android/data/io.dcloud.uniappx/apps/__UNI__XXXXXXX/www/static/logo.png
 * 代码包文件在云打包模式下:
 * file:///android_asset/apps/__UNI__XXXXXXX/www/static/logo.png
 * /
console.log(UTSAndroid.getResourcePath('static/logo.png'))
// 沙盒文件,不支持,会返回不存在的路径
console.log(UTSAndroid.getResourcePath('unifile://sandbox/static/logo.png'))
// 沙盒外文件,不支持,会返回不存在的路径
console.log(UTSAndroid.getResourcePath('/storage/emulated/0/Android/data/io.dcloud.HBuilder/apps/HBuilder/www/static/logo.png'))

# getDispatcher

获取一个任务分发器实例

参数

名称 类型 必填 默认值 兼容性 描述
threadName string|null - - 任务组名称,可能为:
main: ui thread / dom: 仅uni-app x环境生效,uni-app 环境会自动切换到 ui
io : io thread
匿名线程 null 或者 '': 来源线程,如果来源线程不支持任务分发,则会在当前线程执行执行. 这个场景下要求第一个参数必须是线程环境

返回值

类型
UTSTaskDispatcher
# UTSTaskDispatcher 的方法
# async(action:(action:any|null)=>void,param?:any|null): void

在当前任务分发器 异步执行任务

# async 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
action (action?: any) => void - - 任务函数
param any - - 任务函数需要的参数

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
// 不传任何参数,得到是当前代码运行线程
let currentDispatcher = UTSAndroid.getDispatcher()
console.log("currentDispatcher",currentDispatcher)
// 期望在 io 任务队列执行
UTSAndroid.getDispatcher("io").async(function(_){
    console.log("当前任务执行在",Thread.currentThread().getName())
    // 期望在 主线程 任务队列执行
    UTSAndroid.getDispatcher("main").async(function(_){
        console.log("当前任务执行在",Thread.currentThread().getName())
        currentDispatcher.async(function(_){
            console.log("起始任务执行在",Thread.currentThread().getName())
        },null)
    },null)
},null)

# devicePX2px(devicePX:number) : number;

物理像素转换为页面的px像素

参数

名称 类型 必填 默认值 兼容性 描述
devicePX number - - 待转换的物理像素

返回值

类型 描述
number 转换后的页面px

兼容性

Android uni-app x Android uni-app
3.95 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.95 3.95
// 对 100物理像素长度 进行转换
let pagePX = UTSAndroid.devicePX2px(100)
// 在特定设备返回值:36.3636360168457
console.log("pagePX",pagePX)

# isPrivacyAgree() : boolean;

当前应用是否已取得用户同意隐私协议

HBuilderX4.31及以上版本推荐使用 uni.getPrivacySetting 获取用户是否同意隐私协议。

返回值

类型 描述
boolean true 用户已同意 false 用户未同意

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
// 手动标记用户已同意隐私协议
UTSAndroid.setPrivacyAgree(true)
// 此时为 true
console.log(UTSAndroid.isPrivacyAgree())
// 重置用户隐私协议状态
UTSAndroid.resetPrivacyAgree()
// 此时为 false
console.log(UTSAndroid.isPrivacyAgree())

# setPrivacyAgree(state:boolean):void;

设置当前应用是否已取得用户同意隐私协议

HBuilderX4.31及以上版本推荐使用 button 设置 open-type 值为 agreePrivacyAuthorization 来实现设置用户同意隐私协议。

参数

名称 类型 必填 默认值 兼容性 描述
state boolean - - true 用户已同意 false 用户未同意

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
// 手动标记用户已同意隐私协议
UTSAndroid.setPrivacyAgree(true)
// 此时为 true
console.log(UTSAndroid.isPrivacyAgree())
// 重置用户隐私协议状态
UTSAndroid.resetPrivacyAgree()
// 此时为 false
console.log(UTSAndroid.isPrivacyAgree())

# resetPrivacyAgree():void;

重置当前应用至用户未同意隐私协议

HBuilderX4.31及以上版本推荐使用 uni.resetPrivacyAuthorization 重置隐私协议状态为未同意。

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
// 手动标记用户已同意隐私协议
UTSAndroid.setPrivacyAgree(true)
// 此时为 true
console.log(UTSAndroid.isPrivacyAgree())
// 重置用户隐私协议状态
UTSAndroid.resetPrivacyAgree()
// 此时为 false
console.log(UTSAndroid.isPrivacyAgree())

# requestSystemPermission

请求系统权限

参数

名称 类型 必填 默认值 兼容性 描述
context Activity - - -
requestPermission Array<string><string> - - 期望请求的权限
success (allRight: boolean, grantedList: Array<string>) => void - - -
fail (doNotAskAgain: boolean, grantedList: Array<string>) => void - - -
shallUnCheck boolean false - 是否需要本地错误检查,需要HBuilder X 4.25 之后版本

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90

	let permissionNeed = ["android.permission.CAMERA"]
    // 请求拍照权限
	UTSAndroid.requestSystemPermission(UTSAndroid.getUniActivity()!, permissionNeed, function (allRight : boolean, _ : string[]) {
		if (allRight) {
			// 权限请求成功
		} else {
			//用户拒绝了部分权限
		}
	}, function (_ : boolean, _ : string[]) {
		//用户拒绝了部分权限
	})

请求权限后有三种情况:

  • 用户允许了全部权限请求,会通过 success回调通知调用者,并且此时allRight参数为 true

  • 用户拒绝了全部权限请求,会通过 fail 回调通知调用者,doNotAskAgain 参数标识了用户拒绝时是否选择了不再询问

  • 用户允许了部分请求,拒绝了部分权限请求,此时既会调用success也会调用fail。由其中的 string数组参数 标识具体被拒绝/允许的权限

# checkSystemPermissionGranted

检查当前应用是否已经具备指定权限

参数

名称 类型 必填 默认值 兼容性 描述
context Activity - - -
requestPermission Array<string><string> - - 期望具备的权限

返回值

类型 描述
boolean 请求的权限列表中是否已经具备

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
let permissionCheck = ["android.permission.CAMERA"]
// 请求拍照权限
if (UTSAndroid.checkSystemPermissionGranted(UTSAndroid.getUniActivity()!, permissionCheck)) {
	console.log("当前已具备指定权限")
}else{
	console.log("当前不具备指定权限")
}

# gotoSystemPermissionActivity

跳转至系统权限手动设备列表

参数

名称 类型 必填 默认值 兼容性 描述
context Activity - - -
requestPermission Array<string><string> - - 期望请求的权限

返回值

类型
void

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
// 前往系统权限设置界面
let permissionNeed = ["android.permission.READ_PHONE_STATE"]
UTSAndroid.gotoSystemPermissionActivity(UTSAndroid.getUniActivity()!,permissionNeed)

# getSystemPermissionDenied

获取当前应用不具备的权限列表

参数

名称 类型 必填 默认值 兼容性 描述
context Activity - - -
requestPermission Array<string><string> - - 期望请求的权限

返回值

类型 描述
Array<string> 请求的权限列表中已经被禁用的部分

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90
	let permissionNeed = ["android.permission.READ_PHONE_STATE"]
	if (UTSAndroid.getSystemPermissionDenied(UTSAndroid.getUniActivity()!, permissionNeed).isEmpty()) {
    	console.log("当前已具备指定权限")
	}

# convert2AbsFullPath(path:string)

将文件的项目相对地址转换为 运行期对应的绝对地址
eg.
'static/logo.png' -> '/storage/sdcard/0/apps/com.xxxx/files/logo.png'

参数

名称 类型 必填 默认值 兼容性 描述
inputPath string - - 待转换的文件相对路径

返回值

类型 描述
string 转换后文件绝对路径

兼容性

Android uni-app x Android uni-app
3.90 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.90

注意事项

convert2AbsFullPathgetResourcePath 区别在于:

convert2AbsFullPath 对文件路径支持范围更大,不仅支持 代码包文件内置储存目录的情况,还支持相对路径,沙盒路径,沙盒外路径(包括系统API返回的文件地址) 等形式。

getResourcePath 不支持这些

当开发者明确需要操作文件,而非代码包资源时,建议使用 convert2AbsFullPath

  • 代码包文件
    • 代码包文件真机运行云打包模式下的释放策略不同:
      本地真机运行:会被存在放内置储存目录
      云打包: uni-app x项目会被存放在asset目录, uni-app 项目会被存放在内置储存目录
      因此在 uni-app/uni-app x 平台对 代码包文件 均仅支持读取操作
  • 本地磁盘文件
    • 沙盒文件
      • uni-app x支持读写
      • uni-app不支持
    • 沙盒外文件
      • 沙盒管理范围外的其他文件。 调用系统API返回的绝对地址属于此类。uni-app/uni-app x平台 均支持读写
// 代码包文件
console.log(UTSAndroid.convert2AbsFullPath('static/logo.png'))
// 沙盒文件
console.log(UTSAndroid.convert2AbsFullPath('unifile://sandbox/static/logo.png'))
// 沙盒外文件 包含相对路径
console.log(UTSAndroid.convert2AbsFullPath('../../../io.dcloud.HBuilder/apps/HBuilder/www/static/logo.png'))

# getFileProviderUri(file:File)

将应用的私有文件 通过内置的FileProvider转换为外部应用可以访问的Uri

参数

名称 类型 必填 默认值 兼容性 描述
file File - - 待转换的私有文件
名称 类型 必备 默认值 兼容性 描述
name string - - The name of the File.
lastModified number - - The last modified date of the File.
size number - - The total size of the Blob in bytes.
type string - - The content-type of the Blob.
# File 的方法
# arrayBuffer(): Promise<ArrayBuffer>;

Returns a promise that fulfills with an ArrayBuffer containing a copy of the Blob data.

# arrayBuffer 兼容性
Web Android iOS
- - -
# 返回值
类型
Promise<ArrayBuffer>
# slice(start?: number, end?: number, type?: string): Blob;

Creates and returns a new Blob containing a subset of this Blob objects data. The original Blob is not altered.

# slice 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
start number - - The starting index.
end number - - The ending index.
type string - - The content-type for the new Blob
# 返回值
类型
Blob
# text(): Promise<string>;

Returns a promise that fulfills with the contents of the Blob decoded as a UTF-8 string.

# text 兼容性
Web Android iOS
- - -
# 返回值
类型
Promise<string>
# stream(): WebReadableStream;

Returns a new ReadableStream that allows the content of the Blob to be read.

# stream 兼容性
Web Android iOS
- - -
# 返回值
类型 描述
ReadableStream<R> This Streams API interface represents a readable stream of byte data.
名称 类型 必备 默认值 兼容性 描述
locked boolean - - -
# ReadableStream<R> 的方法
# cancel(reason?: any): Promise<void>;
# cancel 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
reason any - - -
# 返回值
类型
Promise<void>
# getReader(): ReadableStreamDefaultReader<R>;
# getReader 兼容性
Web Android iOS
- - -
# 返回值
类型
ReadableStreamDefaultReader<R>
名称 类型 必备 默认值 兼容性 描述
closed Promise<any> - - -
# ReadableStreamDefaultReader<R> 的方法
# read(): Promise<ReadableStreamDefaultReadResult<R>>;
# read 兼容性
Web Android iOS
- - -
# 返回值
类型
Promise<ReadableStreamDefaultReadValueResult<T> | ReadableStreamDefaultReadDoneResult>
名称 类型 必备 默认值 兼容性 描述
done boolean - - -
value T - - -
# ReadableStreamDefaultReadDoneResult 的属性值
名称 类型 必备 默认值 兼容性 描述
done boolean - - -
value any - - -
# releaseLock(): void;
# releaseLock 兼容性
Web Android iOS
- - -
# cancel(reason?: any): Promise<void>;
# cancel 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
reason any - - -
# 返回值
类型
Promise<void>
# pipeThrough<T>(transform: ReadableWritablePair<T, R>, options?: StreamPipeOptions): ReadableStream<T>;
# pipeThrough 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
transform ReadableWritablePair - - -
options StreamPipeOptions - - -
名称 类型 必备 默认值 兼容性 描述
preventAbort boolean - - -
preventCancel boolean - - -
preventClose boolean - - Pipes this readable stream to a given writable stream destination.
The way in which the piping process behaves under various error
conditions can be customized with a number of passed options. It
returns a promise that fulfills when the piping process completes
successfully, or rejects if any errors were encountered.

Piping a stream will lock it for the duration of the pipe, preventing
any other consumer from acquiring a reader.

Errors and closures of the source and destination streams propagate
as follows:

An error in this source readable stream will abort destination,
unless preventAbort is truthy. The returned promise will be rejected
with the source's error, or with any error that occurs during
aborting the destination.

An error in destination will cancel this source readable stream,
unless preventCancel is truthy. The returned promise will be rejected
with the destination's error, or with any error that occurs during
canceling the source.

When this source readable stream closes, destination will be closed,
unless preventClose is truthy. The returned promise will be fulfilled
once this process completes, unless an error is encountered while
closing the destination, in which case it will be rejected with that
error.

If destination starts out closed or closing, this source readable
stream will be canceled, unless preventCancel is true. The returned
promise will be rejected with an error indicating piping to a closed
stream failed, or with any error that occurs during canceling the
source.

The signal option can be set to an AbortSignal to allow aborting an
ongoing pipe operation via the corresponding AbortController. In this
case, this source readable stream will be canceled, and destination
aborted, unless the respective options preventCancel or preventAbort
are set.
signal AbortSignal - - The listener will be removed when the given AbortSignal object's abort() method is called.
名称 类型 必备 默认值 兼容性 描述
aborted boolean - - Returns true if this AbortSignal's AbortController has signaled to abort, and false otherwise.
reason any - - -
# AbortSignal 的方法
# (this: AbortSignal, event: Event) => any
# onabort 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
this AbortSignal - - -
event Event - - -
名称 类型 必备 默认值 兼容性 描述
bubbles boolean - - This is not used in Node.js and is provided purely for completeness.
cancelable boolean - - True if the event was created with the cancelable option
composed boolean - - This is not used in Node.js and is provided purely for completeness.
currentTarget EventTarget - - Alias for event.target.
defaultPrevented boolean - - Is true if cancelable is true and event.preventDefault() has been called.
eventPhase 2 - - This is not used in Node.js and is provided purely for completeness.
isTrusted boolean - - The AbortSignal "abort" event is emitted with isTrusted set to true. The value is false in all other cases.
returnValue boolean - - This is not used in Node.js and is provided purely for completeness.
srcElement EventTarget - - Alias for event.target.
target EventTarget - - The EventTarget dispatching the event
timeStamp number - - The millisecond timestamp when the Event object was created.
type string - - Returns the type of event, e.g. "click", "hashchange", or "submit".
# EventTarget 的方法
# addEventListener( type: string, listener: EventListener | EventListenerObject, options?: AddEventListenerOptions | boolean, ): void;

Adds a new handler for the type event. Any given listener is added only once per type and per capture option value.

If the once option is true, the listener is removed after the next time a type event is dispatched.

The capture option is not used by Node.js in any functional way other than tracking registered event listeners per the EventTarget specification. Specifically, the capture option is used as part of the key when registering a listener. Any individual listener may be added once with capture = false, and once with capture = true.

# addEventListener 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
type string - - -
listener EventListener | EventListenerObject - - -
options AddEventListenerOptions | boolean - - -
名称 类型 必备 默认值 兼容性 描述
once boolean - - When true, the listener is automatically removed when it is first invoked. Default: false.
passive boolean - - When true, serves as a hint that the listener will not call the Event object's preventDefault() method. Default: false.
signal AbortSignal - - The listener will be removed when the given AbortSignal object's abort() method is called.
capture boolean - - Not directly used by Node.js. Added for API completeness. Default: false.
# EventListenerObject 的方法
# handleEvent(object: Event): void;
# handleEvent 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
object Event - - -
# dispatchEvent(event: Event): boolean;

Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

# dispatchEvent 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
event Event - - -
# 返回值
类型
boolean
# removeEventListener( type: string, listener: EventListener | EventListenerObject, options?: EventListenerOptions | boolean, ): void;

Removes the event listener in target's event listener list with the same type, callback, and options.

# removeEventListener 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
type string - - -
listener EventListener | EventListenerObject - - -
options EventListenerOptions | boolean - - -
名称 类型 必备 默认值 兼容性 描述
capture boolean - - Not directly used by Node.js. Added for API completeness. Default: false.
# Event 的方法
# () => void

Alias for event.stopPropagation(). This is not used in Node.js and is provided purely for completeness.

# cancelBubble 兼容性
Web Android iOS
- - -
# composedPath(): [EventTarget?]

Returns an array containing the current EventTarget as the only entry or empty if the event is not being dispatched. This is not used in Node.js and is provided purely for completeness.

# composedPath 兼容性
Web Android iOS
- - -
# 返回值
类型
any
# preventDefault(): void;

Sets the defaultPrevented property to true if cancelable is true.

# preventDefault 兼容性
Web Android iOS
- - -
# stopImmediatePropagation(): void;

Stops the invocation of event listeners after the current one completes.

# stopImmediatePropagation 兼容性
Web Android iOS
- - -
# stopPropagation(): void;

This is not used in Node.js and is provided purely for completeness.

# stopPropagation 兼容性
Web Android iOS
- - -
# 返回值
类型
any
# throwIfAborted(): void;
# throwIfAborted 兼容性
Web Android iOS
- - -
# addEventListener( type: string, listener: EventListener | EventListenerObject, options?: AddEventListenerOptions | boolean, ): void;

Adds a new handler for the type event. Any given listener is added only once per type and per capture option value.

If the once option is true, the listener is removed after the next time a type event is dispatched.

The capture option is not used by Node.js in any functional way other than tracking registered event listeners per the EventTarget specification. Specifically, the capture option is used as part of the key when registering a listener. Any individual listener may be added once with capture = false, and once with capture = true.

# addEventListener 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
type string - - -
listener EventListener | EventListenerObject - - -
options AddEventListenerOptions | boolean - - -
# dispatchEvent(event: Event): boolean;

Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

# dispatchEvent 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
event Event - - -
# 返回值
类型
boolean
# removeEventListener( type: string, listener: EventListener | EventListenerObject, options?: EventListenerOptions | boolean, ): void;

Removes the event listener in target's event listener list with the same type, callback, and options.

# removeEventListener 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
type string - - -
listener EventListener | EventListenerObject - - -
options EventListenerOptions | boolean - - -
# 返回值
类型
ReadableStream
# pipeTo(destination: WritableStream<R>, options?: StreamPipeOptions): Promise<void>;
# pipeTo 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
destination WritableStream<W> - - This Streams API interface provides a standard abstraction for writing streaming data to a destination, known as a sink. This object comes with built-in back pressure and queuing.
名称 类型 必备 默认值 兼容性 描述
locked boolean - - -
options StreamPipeOptions - - -
# WritableStream<W> 的方法
# abort(reason?: any): Promise<void>;
# abort 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
reason any - - -
# 返回值
类型
Promise<void>
# close(): Promise<void>;
# close 兼容性
Web Android iOS
- - -
# 返回值
类型
Promise<void>
# getWriter(): WritableStreamDefaultWriter<W>;
# getWriter 兼容性
Web Android iOS
- - -
# 返回值
类型 描述
WritableStreamDefaultWriter<W> This Streams API interface is the object returned by
WritableStream.getWriter() and once created locks the < writer to the
WritableStream ensuring that no other streams can write to the underlying
sink.
名称 类型 必备 默认值 兼容性 描述
closed Promise<any> - - -
desiredSize number - -
ready Promise<any> - - -
# WritableStreamDefaultWriter<W> 的方法
# abort(reason?: any): Promise<void>;
# abort 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
reason any - - -
# 返回值
类型
Promise<void>
# close(): Promise<void>;
# close 兼容性
Web Android iOS
- - -
# 返回值
类型
Promise<void>
# releaseLock(): void;
# releaseLock 兼容性
Web Android iOS
- - -
# write(chunk?: W): Promise<void>;
# write 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
chunk any - - -
# 返回值
类型
Promise<void>
# 返回值
类型
Promise<void>
# tee(): [ReadableStream<R>, ReadableStream<R>]
# tee 兼容性
Web Android iOS
- - -
# 返回值
类型
any
# values(options?: { preventCancel?: boolean }): AsyncIterableIterator<R>;
# values 兼容性
Web Android iOS
- - -
# 参数
名称 类型 必填 默认值 兼容性 描述
options { preventCancel?: boolean; } - - -
名称 类型 必备 默认值 兼容性 描述
preventCancel boolean - - -
# 返回值
类型
AsyncIterableIterator<R>

返回值

类型 描述
Uri 转换后的Uri

兼容性

Android uni-app x Android uni-app
3.99 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
3.99 3.99
// 使用外部应用打开项目内置图片资源
let file = new File(UTSAndroid.getResourcePath("static/logo.png"))
const uri = UTSAndroid.getFileProviderUri(file)
const intent = new Intent(Intent.ACTION_VIEW, uri)
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
const context = UTSAndroid.getUniActivity()!;
context.startActivity(intent);

# getJavaClass(input:any)

获取对象的jvm class实例

参数

名称 类型 必填 默认值 兼容性 描述
input any - - 任意不为空对象

返回值

类型 描述
Class 传入对象所对应的class实例

兼容性

Android uni-app x Android uni-app
4.0 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
4.0 4.0
export function getJavaClassTest() : boolean {
	let dispatcherClass = UTSAndroid.getJavaClass(UTSAndroid.getDispatcher())
	if("io.dcloud.uts.task.UTSTaskDispatcher" == dispatcherClass.name){
    	return true
	}
  	let applicationClass = UTSAndroid.getJavaClass(UTSAndroid.getAppContext()!)
  	if("io.dcloud.uniapp.UniApplication" == applicationClass.name){
    	return true
  	}
	return false
}

# getTopPageActivity()

获取与当前页面绑定的activity对象,需要注意的是:当页面对象未与activity建立绑定关系时,可能为null

返回值

类型 描述
Activity | null 当前页面绑定的activity示例

兼容性

Android uni-app x Android uni-app
4.0 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
4.0 4.0
// 获取当前栈顶activity
console.log(UTSAndroid.getTopPageActivity())

# onActivityCallback(callback, pageRoute?)

注册监听activity回调方法

参数

名称 类型 必填 默认值 兼容性 描述
callback IUniActivityCallback - - 回调方法,查看具体子类实现
pageRoute string|null - - 页面的路由地址route,注意如果是tabBar页面,请传'tabBar'字符串

返回值

类型
void

兼容性

Android uni-app x Android uni-app
4.18 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
4.18 4.18

# offActivityCallback(callback)

onActivityCallback对应的反注册函数。

参数

名称 类型 必填 默认值 兼容性 描述
callback IUniActivityCallback - - onActivityCallback传入的callback

返回值

类型
void

兼容性

Android uni-app x Android uni-app
4.18 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
4.18 4.18

# onPrivacyAgreeChange(callback)

注册监听隐私协议更改回调

HBuilderX4.31及以上版本推荐使用 uni.onPrivacyAuthorizationChange 监听隐私协议状态的变化。

参数

名称 类型 必填 默认值 兼容性 描述
callback (option: PrivacyOption) => void - - 回调方法
# PrivacyOption 的属性值
名称 类型 必备 默认值 兼容性 描述
isAgree boolean - - 是否同意用户隐私协议

返回值

类型
void

兼容性

Android uni-app x Android uni-app
4.18 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
4.18 4.18

# offPrivacyAgreeChange(callback)

onPrivacyAgreeChange对应的反注册函数

HBuilderX4.31及以上版本推荐使用 uni.offPrivacyAuthorizationChange 取消监听隐私协议状态的变化。

参数

名称 类型 必填 默认值 兼容性 描述
callback (option: PrivacyOption) => void - - onPrivacyAgreeChange中传入的callback

返回值

类型
void

兼容性

Android uni-app x Android uni-app
4.18 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
4.18 4.18

# getGenericType<T>(): Type

获取类型T 对应的 java.lang.reflect.Type 对象

返回值

类型
Type

兼容性

Android uni-app x Android uni-app
4.02 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
4.02 4.02

# getGenericClassName<T>(): string

获取类型 T 对应的 class name

返回值

类型
string

兼容性

Android uni-app x Android uni-app
4.02 x

UTS 插件兼容性

Android uni-app x UTS 插件 Android uni-app UTS 插件
4.02 4.02

# 参见

相关 Bug