如何做cpa单页网站,wordpress阿里云邮箱,欧美做的爱爱网站,做电影网站什么后果AbilityContext
AbilityContext是Ability的上下文环境#xff0c;继承自Context。
AbilityContext模块提供允许访问特定于ability的资源的能力#xff0c;包括对Ability的启动、停止的设置、获取caller通信接口、拉起弹窗请求用户授权等。 说明#xff1a; 本模块首批接口…
AbilityContext
AbilityContext是Ability的上下文环境继承自Context。
AbilityContext模块提供允许访问特定于ability的资源的能力包括对Ability的启动、停止的设置、获取caller通信接口、拉起弹窗请求用户授权等。 说明 本模块首批接口从API version 9开始支持。后续版本的新增接口采用上角标单独标记接口的起始版本。 本模块接口仅可在Stage模型下使用。 使用说明
在使用AbilityContext的功能前需要通过Ability子类实例获取。
import Ability from ohos.application.Ability
class MainAbility extends Ability {onWindowStageCreate(windowStage) {let context this.context;}
}
开发前请熟悉鸿蒙开发指导文档gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。
属性
系统能力以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
名称参数类型可读可写说明abilityInfoAbilityInfo是否Abilityinfo相关信息currentHapModuleInfoHapModuleInfo是否当前hap包的信息configConfiguration是否表示配置信息。
AbilityContext.startAbility
startAbility(want: Want, callback: AsyncCallbackvoid): void
启动Ability。
系统能力SystemCapability.Ability.AbilityRuntime.Core
参数
参数名类型必填说明wantWant是启动Ability的want信息。callbackAsyncCallbackvoid是callback形式返回启动结果
示例
var want {deviceId: ,bundleName: com.extreme.test,abilityName: MainAbility
};
this.context.startAbility(want, (error) {console.log(error.code error.code)
})
AbilityContext.startAbility
startAbility(want: Want, options: StartOptions, callback: AsyncCallbackvoid): void
启动Ability。
系统能力SystemCapability.Ability.AbilityRuntime.Core
参数
参数名类型必填说明wantWant是启动Ability的want信息。optionsStartOptions是启动Ability所携带的参数。callbackAsyncCallbackvoid是callback形式返回启动结果。
示例
var want {deviceId: ,bundleName: com.extreme.test,abilityName: MainAbility
};
var options {windowMode: 0,
};
this.context.startAbility(want, options, (error) {console.log(error.code error.code)
})
AbilityContext.startAbility
startAbility(want: Want, options?: StartOptions): Promisevoid;
启动Ability。通过Promise返回结果。
系统能力SystemCapability.Ability.AbilityRuntime.Core
参数
参数名类型必填说明wantWant是启动Ability的want信息。optionsStartOptions否启动Ability所携带的参数。
返回值
类型说明PromisevoidPromise形式返回启动结果。
示例
var want {deviceId: ,bundleName: com.extreme.test,abilityName: MainAbility
};
var options {windowMode: 0,
};
this.context.startAbility(want, options)
.then((data) {console.log(Operation successful.)
}).catch((error) {console.log(Operation failed.);
})
AbilityContext.startAbilityForResult
startAbilityForResult(want: Want, callback: AsyncCallbackAbilityResult): void;
启动Ability并在结束的时候返回执行结果。
系统能力SystemCapability.Ability.AbilityRuntime.Core
参数
参数名类型必填说明wantWant是启动Ability的want信息。callbackAsyncCallbackAbilityResult是执行结果回调函数。
示例
this.context.startAbilityForResult({bundleName: com.extreme.myapplication, abilityName: MainAbilityDemo2},(error, result) {console.log(startAbilityForResult AsyncCallback is called, error.code error.code)console.log(startAbilityForResult AsyncCallback is called, result.resultCode result.resultCode)}
);
AbilityContext.startAbilityForResult
startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallbackAbilityResult): void;
启动Ability并在结束的时候返回执行结果。
系统能力SystemCapability.Ability.AbilityRuntime.Core
参数
参数名类型必填说明wantWant是启动Ability的want信息。optionsStartOptions是启动Ability所携带的参数。callbackAsyncCallbackAbilityResult是执行结果回调函数。
示例
var options {windowMode: 0,
};
this.context.startAbilityForResult({bundleName: com.extreme.myapplication, abilityName: MainAbilityDemo2}, options,(error, result) {console.log(startAbilityForResult AsyncCallback is called, error.code error.code)console.log(startAbilityForResult AsyncCallback is called, result.resultCode result.resultCode)}
);
AbilityContext.startAbilityForResult
startAbilityForResult(want: Want, options?: StartOptions): PromiseAbilityResult;
启动Ability并在结束的时候返回执行结果。
系统能力SystemCapability.Ability.AbilityRuntime.Core
参数
参数名类型必填说明wantWant是启动Ability的want信息。optionsStartOptions否启动Ability所携带的参数。
返回值
类型说明PromiseAbilityResultPromise形式返回执行结果。
示例
var options {windowMode: 0,
};
this.context.startAbilityForResult({bundleName: com.extreme.myapplication, abilityName: MainAbilityDemo2}, options).then((result) {console.log(startAbilityForResult Promise.resolve is called, result.resultCode result.resultCode)
}, (error) {console.log(startAbilityForResult Promise.Reject is called, error.code error.code)
})
AbilityContext.startAbilityForResultWithAccount
startAbilityForResultWithAccount(want: Want, accountId: number, callback: AsyncCallbackAbilityResult): void;
启动一个Ability并在该Ability帐号销毁时返回执行结果callback形式。
需要权限: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
系统能力SystemCapability.Ability.AbilityRuntime.Core
系统API: 此接口为系统接口三方应用不支持调用。
参数
参数名类型必填说明wantWant是启动Ability的want信息。accountIdnumber是需要启动的accountId。callbackAsyncCallbackAbilityResult是启动Ability的回调函数返回Ability结果。
示例
var want {deviceId: ,bundleName: com.extreme.test,abilityName: MainAbility
};
var accountId 100;
this.context.startAbilityWithAccount(want, accountId, (err, data) {console.log(---------- startAbilityWithAccount fail, err: -----------, err);console.log(---------- startAbilityWithAccount success, data: -----------, data);
});
AbilityContext.startAbilityForResultWithAccount
startAbilityForResultWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallbackvoid): void;
启动一个Ability并在该Ability帐号销毁时返回执行结果callback形式。
需要权限: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
系统能力SystemCapability.Ability.AbilityRuntime.Core
系统API: 此接口为系统接口三方应用不支持调用。
参数
参数名类型必填说明wantWant是启动Ability的want信息。accountIdnumber是需要启动的accountId。optionsStartOptions是启动Ability所携带的参数。callbackAsyncCallbackvoid是启动Ability的回调函数。
示例
var want {deviceId: ,bundleName: com.extreme.test,abilityName: MainAbility
};
var accountId 100;
var options {windowMode: 0,
};
this.context.startAbilityForResultWithAccount(want, accountId, options, (err) {console.log(---------- startAbilityForResultWithAccount fail, err: -----------, err);
});
AbilityContext.startAbilityForResultWithAccount
startAbilityForResultWithAccount(want: Want, accountId: number, options?: StartOptions): PromiseAbilityResult;
启动一个Ability并在该Ability帐号销毁时返回执行结果callback形式。
需要权限: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
系统能力SystemCapability.Ability.AbilityRuntime.Core
系统API: 此接口为系统接口三方应用不支持调用。
参数
参数名类型必填说明wantWant是启动Ability的want信息。accountIdnumber是需要启动的accountId。optionsStartOptions否启动Ability所携带的参数。
返回值
类型说明PromiseAbilityResult返回一个Promise包含Ability结果。
示例
var want {deviceId: ,bundleName: com.extreme.test,abilityName: MainAbility
};
var accountId 100;
var options {windowMode: 0,
};
this.context.startAbilityForResultWithAccount(want, accountId, options).then((data) {console.log(---------- startAbilityForResultWithAccount success, data: -----------, data);}).catch((err) {console.log(---------- startAbilityForResultWithAccount fail, err: -----------, err);})
AbilityContext.terminateSelf
terminateSelf(callback: AsyncCallbackvoid): void;
停止Ability自身。
系统能力SystemCapability.Ability.AbilityRuntime.Core
参数
参数名类型必填说明callbackAsyncCallbackvoid是回调函数返回接口调用是否成功的结果。
示例
this.context.terminateSelf((err) {console.log(terminateSelf result: JSON.stringify(err));
});
AbilityContext.terminateSelf
terminateSelf(): Promisevoid;
停止Ability自身。通过Promise返回结果。
系统能力SystemCapability.Ability.AbilityRuntime.Core
返回值
类型说明Promisevoid返回一个Promise包含接口的结果。
示例
this.context.terminateSelf().then((data) {console.log(success: JSON.stringify(data));
}).catch((error) {console.log(failed: JSON.stringify(error));
});
AbilityContext.terminateSelfWithResult
terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallbackvoid): void;
停止Ability并返回给调用startAbilityForResult 接口调用方的相关信息。
系统能力SystemCapability.Ability.AbilityRuntime.Core
参数
参数名类型必填说明parameterAbilityResult是返回给调用startAbilityForResult 接口调用方的相关信息。callbackAsyncCallbackvoid是callback形式返回停止结果。
示例
this.context.terminateSelfWithResult({want: {bundleName: com.extreme.myapplication, abilityName: MainAbilityDemo},resultCode: 100}, (error) {console.log(terminateSelfWithResult is called error.code)}
);
AbilityContext.terminateSelfWithResult
terminateSelfWithResult(parameter: AbilityResult): Promisevoid;
停止Ability并返回给调用startAbilityForResult 接口相关信息。
系统能力SystemCapability.Ability.AbilityRuntime.Core
参数
参数名类型必填说明parameterAbilityResult是返回给startAbilityForResult 调用方的信息。
返回值
类型说明Promisevoidpromise形式返回停止结果。
示例
this.context.terminateSelfWithResult(
{want: {bundleName: com.extreme.myapplication, abilityName: MainAbilityDemo},resultCode: 100
}).then((result) {console.log(terminateSelfWithResult)
}
)
AbilityContext.connectAbility
connectAbility(want: Want, options: ConnectOptions): number;
使用AbilityInfo.AbilityType.SERVICE模板将当前能力连接到一个能力。
系统能力SystemCapability.Ability.AbilityRuntime.Core
系统API: 此接口为系统接口三方应用不支持调用。
参数
参数名类型必填说明wantWant是启动Ability的want信息。optionsConnectOptions否远端对象实例。
返回值
类型说明number返回Ability连接的结果code。
示例
var want {deviceId: ,bundleName: com.extreme.test,abilityName: MainAbility
};
var options {onConnect(elementName, remote) { console.log(----------- onConnect -----------) },onDisconnect(elementName) { console.log(----------- onDisconnect -----------) },onFailed(code) { console.log(----------- onFailed -----------) }
}
const result this.context.connectAbility(want, options);
console.log(----------- connectAbilityResult: ------------, result);
AbilityContext.connectAbilityWithAccount
connectAbilityWithAccount(want: Want, accountId: number, options: ConnectOptions): number;
使用AbilityInfo.AbilityType.SERVICE模板和account将当前能力连接到一个能力。
需要权限 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
系统能力SystemCapability.Ability.AbilityRuntime.Core
系统API: 此接口为系统接口三方应用不支持调用。
参数
参数名类型必填说明wantWant是启动Ability的want信息。accountIdnumber是需要启动的accountId。optionsConnectOptions否远端对象实例。
返回值
类型说明number返回Ability连接的结果code。
示例
var want {deviceId: ,bundleName: com.extreme.test,abilityName: MainAbility
};
var accountId 100;
var options {onConnect(elementName, remote) { console.log(----------- onConnect -----------) },onDisconnect(elementName) { console.log(----------- onDisconnect -----------) },onFailed(code) { console.log(----------- onFailed -----------) }
}
const result this.context.connectAbilityWithAccount(want, accountId, options);
console.log(----------- connectAbilityResult: ------------, result);
AbilityContext.disconnectAbility
disconnectAbility(connection: number): Promisevoid;
已成功连接接口。
系统能力SystemCapability.Ability.AbilityRuntime.Core
系统API: 此接口为系统接口三方应用不支持调用。
参数
参数名类型必填说明connectionnumber是连接的能力的数字代码。
返回值
类型说明Promisevoid返回执行结果。
示例
var connectionNumber 0;
this.context.disconnectAbility(connectionNumber).then((data) {console.log(disconnectAbility success, data: , data);
}).catch((err) {console.log(disconnectAbility fail, err: , err);
});
AbilityContext.disconnectAbility
disconnectAbility(connection: number, callback:AsyncCallbackvoid): void;
已成功连接接口。
系统能力SystemCapability.Ability.AbilityRuntime.Core
系统API: 此接口为系统接口三方应用不支持调用。
参数
参数名类型必填说明connectionnumber是连接的能力的数字代码。callbackAsyncCallbackvoid是表示指定的回调方法。
示例 var connectionNumber 0;this.context.disconnectAbility(connectionNumber, (err) {console.log(---------- disconnectAbility fail, err: -----------, err);});
AbilityContext.startAbilityByCall
startAbilityByCall(want: Want): PromiseCaller;
获取指定通用组件服务端的caller通信接口, 并且将指定通用组件服务端拉起并切换到后台。
系统能力SystemCapability.Ability.AbilityRuntime.Core
参数
参数名类型必填说明wantWant是传入需要启动的ability的信息包含ability名称、包名、设备ID设备ID缺省或为空表示启动本地ability。
返回值
类型说明PromiseCaller获取要通讯的caller对象。
示例
import Ability from ohos.application.Ability;
var caller;
export default class MainAbility extends Ability {onWindowStageCreate(windowStage) {this.context.startAbilityByCall({bundleName: com.example.myservice,abilityName: MainAbility,deviceId: }).then((obj) {caller obj;console.log(Caller GetCaller Get caller);}).catch((e) {console.log(Caller GetCaller error e);});}
}
AbilityContext.startAbilityWithAccount
startAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallbackvoid): void;
根据account启动Abilitycallback形式。
需要权限: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
系统能力SystemCapability.Ability.AbilityRuntime.Core
系统API: 此接口为系统接口三方应用不支持调用。
参数
参数名类型必填说明wantWant是启动Ability的want信息。accountIdnumber是需要启动的accountId。callbackAsyncCallbackvoid是启动Ability的回调函数。
示例
var want {deviceId: ,bundleName: com.extreme.test,abilityName: MainAbility
};
var accountId 100;
this.context.startAbilityWithAccount(want, accountId, (err) {console.log(---------- startAbilityWithAccount fail, err: -----------, err);
});
AbilityContext.startAbilityWithAccount
startAbilityWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallbackvoid): void;
根据account启动Abilitycallback形式。
需要权限: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
系统能力SystemCapability.Ability.AbilityRuntime.Core
系统API: 此接口为系统接口三方应用不支持调用。
参数
参数名类型必填说明wantWant是启动Ability的want信息。accountIdnumber是需要启动的accountId。optionsStartOptions否启动Ability所携带的参数。callbackAsyncCallbackvoid是启动Ability的回调函数。
示例
var want {deviceId: ,bundleName: com.extreme.test,abilityName: MainAbility
};
var accountId 100;
var options {windowMode: 0,
};
this.context.startAbilityWithAccount(want, accountId, options, (err) {console.log(---------- startAbilityWithAccount fail, err: -----------, err);
});
AbilityContext.startAbilityWithAccount
startAbilityWithAccount(want: Want, accountId: number, options?: StartOptions): Promisevoid;
根据account启动AbilityPromise形式。
需要权限: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
系统能力SystemCapability.Ability.AbilityRuntime.Core
系统API: 此接口为系统接口三方应用不支持调用。
参数
参数名类型必填说明wantWant是启动Ability的want信息。accountIdnumber是需要启动的accountId。optionsStartOptions否启动Ability所携带的参数。
示例
var want {deviceId: ,bundleName: com.extreme.test,abilityName: MainAbility
};
var accountId 100;
var options {windowMode: 0,
};
this.context.startAbilityWithAccount(want, accountId, options).then((data) {console.log(---------- startAbilityWithAccount success, data: -----------, data);}).catch((err) {console.log(---------- startAbilityWithAccount fail, err: -----------, err);})
AbilityContext.requestPermissionsFromUser
requestPermissionsFromUser(permissions: Arraystring, requestCallback: AsyncCallbackPermissionRequestResult) : void;
拉起弹窗请求用户授权。
系统能力SystemCapability.Ability.AbilityRuntime.Core
参数
参数名类型必填说明permissionsArraystring是权限列表。callbackAsyncCallbackPermissionRequestResult是回调函数返回接口调用是否成功的结果。
示例 var permissions[com.example.permission]this.context.requestPermissionsFromUser(permissions,(result) {console.log(requestPermissionsFromUserresult: JSON.stringify(result));
});
AbilityContext.requestPermissionsFromUser
requestPermissionsFromUser(permissions: Arraystring) : PromisePermissionRequestResult;
拉起弹窗请求用户授权。通过Promise返回结果。
系统能力SystemCapability.Ability.AbilityRuntime.Core
参数
参数名类型必填说明permissionsArraystring是权限列表。
返回值
类型说明PromisePermissionRequestResult返回一个Promise包含接口的结果。
示例 var permissions[com.example.permission]this.context.requestPermissionsFromUser(permissions).then((data) {console.log(success: JSON.stringify(data));
}).catch((error) {console.log(failed: JSON.stringify(error));
});
AbilityContext.setMissionLabel
setMissionLabel(label: string, callback:AsyncCallbackvoid): void;
设置ability在任务中显示的名称。
系统能力SystemCapability.Ability.AbilityRuntime.Core
参数
参数名类型必填说明labelstring是显示名称。callbackAsyncCallbackvoid是回调函数返回接口调用是否成功的结果。
示例
this.context.setMissionLabel(test,(result) {console.log(requestPermissionsFromUserresult: JSON.stringify(result));
});
AbilityContext.setMissionLabel
setMissionLabel(label: string): Promisevoid
设置ability在任务中显示的名称。
系统能力SystemCapability.Ability.AbilityRuntime.Core
参数
参数名类型必填说明labelstring是显示名称。
返回值
类型说明Promisevoid返回一个Promise包含接口的结果。
示例
this.context.setMissionLabel(test).then((data) {console.log(success: JSON.stringify(data));
}).catch((error) {console.log(failed: JSON.stringify(error));
});
AbilityContext.setMissionIcon
setMissionIcon(icon: image.PixelMap, callback:AsyncCallbackvoid): void;
设置当前ability的任务标签。
系统能力SystemCapability.Ability.AbilityRuntime.Core
系统API: 此接口为系统接口三方应用不支持调用。
参数
参数名类型必填说明iconimage.PixelMap是在最近的任务中显示的能力图标。callbackAsyncCallbackvoid是指定的回调函数的结果。
示例 import image from ohos.multimedia.imagevar imagePixelMap;var color new ArrayBuffer(0);var initializationOptions {size: {height: 100,width: 100}};image.createPixelMap(color, initializationOptions).then((data) {imagePixelMap data;}).catch((err) {console.log(--------- createPixelMap fail, err: ---------, err)});this.context.setMissionIcon(imagePixelMap, (err) {console.log(---------- setMissionIcon fail, err: -----------, err);})
AbilityContext.setMissionIcon
setMissionIcon(icon: image.PixelMap): Promisevoid;
设置当前ability的任务标签。
系统能力SystemCapability.Ability.AbilityRuntime.Core
系统API: 此接口为系统接口三方应用不支持调用。
参数
参数名类型必填说明iconimage.PixelMap是在最近的任务中显示的能力图标。
返回值
类型说明Promisevoid返回一个Promise包含接口的结果。
示例 import image from ohos.multimedia.imagevar imagePixelMap;var color new ArrayBuffer(0);var initializationOptions {size: {height: 100,width: 100}};image.createPixelMap(color, initializationOptions).then((data) {imagePixelMap data;}).catch((err) {console.log(--------- createPixelMap fail, err: ---------, err)});this.context.setMissionIcon(imagePixelMap).then((data) {console.log(-------------- setMissionIcon success, data: -------------, data);}).catch((err) {console.log(-------------- setMissionIcon fail, err: -------------, err);});
AbilityContext.restoreWindowStage
restoreWindowStage(localStorage: LocalStorage) : void;
恢复ability中的window stage数据。
系统能力SystemCapability.Ability.AbilityRuntime.Core
参数
参数名类型必填说明localStorageimage.LocalStorage是用于恢复window stage的存储数据。HarmonyOS与OpenHarmony鸿蒙文档籽料mau123789是v直接拿 示例 var storage new LocalStorage();this.context.restoreWindowStage(storage);
鸿蒙Next核心技术分享
1、鸿蒙基础知识←《鸿蒙NEXT星河版开发学习文档》 2、鸿蒙ArkUI←《鸿蒙NEXT星河版开发学习文档》 3、鸿蒙进阶技术←《鸿蒙NEXT星河版开发学习文档》 4、鸿蒙就业高级技能←《鸿蒙NEXT星河版开发学习文档》 5、鸿蒙多媒体技术←《鸿蒙NEXT星河版开发学习文档》 6、鸿蒙南向驱动开发←《鸿蒙NEXT星河版开发学习文档》 7、鸿蒙南向内核设备开发←《鸿蒙NEXT星河版开发学习文档》 8、鸿蒙系统裁剪与移植←《鸿蒙NEXT星河版开发学习文档》