AbilityContext
AbilityContext是Ability的上下文環(huán)境,繼承自Context。
AbilityContext模塊提供允許訪問(wèn)特定于ability的資源的能力,包括對(duì)Ability的啟動(dòng)、停止的設(shè)置、獲取caller通信接口、拉起彈窗請(qǐng)求用戶授權(quán)等。
說(shuō)明:
本模塊首批接口從API version 9開(kāi)始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
本模塊接口僅可在Stage模型下使用。
使用說(shuō)明
在使用AbilityContext的功能前,需要通過(guò)Ability子類實(shí)例獲取。
import Ability from '@ohos.application.Ability'
class MainAbility extends Ability {
onWindowStageCreate(windowStage) {
let context = this.context;
}
}
開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]點(diǎn)擊或者復(fù)制轉(zhuǎn)到。
屬性
系統(tǒng)能力 :以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.Ability.AbilityRuntime.Core
名稱 | 參數(shù)類型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
abilityInfo | AbilityInfo | 是 | 否 | Abilityinfo相關(guān)信息 |
currentHapModuleInfo | HapModuleInfo | 是 | 否 | 當(dāng)前hap包的信息 |
config | [Configuration] | 是 | 否 | 表示配置信息。 |
AbilityContext.startAbility
startAbility(want: Want, callback: AsyncCallback): void
啟動(dòng)Ability。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
want | [Want] | 是 | 啟動(dòng)Ability的want信息。 |
callback | AsyncCallback | 是 | callback形式返回啟動(dòng)結(jié)果 |
示例:
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: AsyncCallback): void
啟動(dòng)Ability。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
want | [Want] | 是 | 啟動(dòng)Ability的want信息。 |
options | StartOptions | 是 | 啟動(dòng)Ability所攜帶的參數(shù)。 |
callback | AsyncCallback | 是 | callback形式返回啟動(dòng)結(jié)果。 |
示例:
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): Promise;
啟動(dòng)Ability。通過(guò)Promise返回結(jié)果。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
want | [Want] | 是 | 啟動(dòng)Ability的want信息。 |
options | StartOptions | 否 | 啟動(dòng)Ability所攜帶的參數(shù)。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | Promise形式返回啟動(dòng)結(jié)果。 |
示例:
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: AsyncCallback): void;
啟動(dòng)Ability并在結(jié)束的時(shí)候返回執(zhí)行結(jié)果。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
want | [Want] | 是 | 啟動(dòng)Ability的want信息。 |
callback | AsyncCallback[AbilityResult | 是 | 執(zhí)行結(jié)果回調(diào)函數(shù)。 |
示例:
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: AsyncCallback): void;
啟動(dòng)Ability并在結(jié)束的時(shí)候返回執(zhí)行結(jié)果。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
want | [Want] | 是 | 啟動(dòng)Ability的want信息。 |
options | StartOptions | 是 | 啟動(dòng)Ability所攜帶的參數(shù)。 |
callback | AsyncCallback[AbilityResult] | 是 | 執(zhí)行結(jié)果回調(diào)函數(shù)。 |
示例:
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): Promise;
啟動(dòng)Ability并在結(jié)束的時(shí)候返回執(zhí)行結(jié)果。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
want | [Want] | 是 | 啟動(dòng)Ability的want信息。 |
options | StartOptions | 否 | 啟動(dòng)Ability所攜帶的參數(shù)。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise[AbilityResult] | Promise形式返回執(zhí)行結(jié)果。 |
示例:
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: AsyncCallback): void;
啟動(dòng)一個(gè)Ability并在該Ability帳號(hào)銷毀時(shí)返回執(zhí)行結(jié)果(callback形式)。
需要權(quán)限 : ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
系統(tǒng)API : 此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
want | [Want] | 是 | 啟動(dòng)Ability的want信息。 |
accountId | number | 是 | 需要啟動(dòng)的accountId。 |
callback | AsyncCallback | 是 | 啟動(dòng)Ability的回調(diào)函數(shù),返回Ability結(jié)果。 |
示例:
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: AsyncCallback): void;
啟動(dòng)一個(gè)Ability并在該Ability帳號(hào)銷毀時(shí)返回執(zhí)行結(jié)果(callback形式)。
需要權(quán)限 : ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
系統(tǒng)API : 此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
want | [Want] | 是 | 啟動(dòng)Ability的want信息。 |
accountId | number | 是 | 需要啟動(dòng)的accountId。 |
options | [StartOptions] | 是 | 啟動(dòng)Ability所攜帶的參數(shù)。 |
callback | AsyncCallback | 是 | 啟動(dòng)Ability的回調(diào)函數(shù)。 |
示例:
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): Promise;
啟動(dòng)一個(gè)Ability并在該Ability帳號(hào)銷毀時(shí)返回執(zhí)行結(jié)果(callback形式)。
需要權(quán)限 : ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
系統(tǒng)API : 此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
want | [Want] | 是 | 啟動(dòng)Ability的want信息。 |
accountId | number | 是 | 需要啟動(dòng)的accountId。 |
options | [StartOptions] | 否 | 啟動(dòng)Ability所攜帶的參數(shù)。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 返回一個(gè)Promise,包含Ability結(jié)果。 |
示例:
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: AsyncCallback): void;
停止Ability自身。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback | 是 | 回調(diào)函數(shù),返回接口調(diào)用是否成功的結(jié)果。 |
示例:
this.context.terminateSelf((err) = > {
console.log('terminateSelf result:' + JSON.stringify(err));
});
AbilityContext.terminateSelf
terminateSelf(): Promise;
停止Ability自身。通過(guò)Promise返回結(jié)果。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 返回一個(gè)Promise,包含接口的結(jié)果。 |
示例:
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: AsyncCallback): void;
停止Ability,并返回給調(diào)用startAbilityForResult 接口調(diào)用方的相關(guān)信息。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
parameter | [AbilityResult] | 是 | 返回給調(diào)用startAbilityForResult 接口調(diào)用方的相關(guān)信息。 |
callback | AsyncCallback | 是 | callback形式返回停止結(jié)果。 |
示例:
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): Promise;
停止Ability,并返回給調(diào)用startAbilityForResult 接口相關(guān)信息。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
parameter | [AbilityResult] | 是 | 返回給startAbilityForResult 調(diào)用方的信息。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | promise形式返回停止結(jié)果。 |
示例:
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模板將當(dāng)前能力連接到一個(gè)能力。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
系統(tǒng)API : 此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
want | [Want] | 是 | 啟動(dòng)Ability的want信息。 |
options | [ConnectOptions] | 否 | 遠(yuǎn)端對(duì)象實(shí)例。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 返回Ability連接的結(jié)果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將當(dāng)前能力連接到一個(gè)能力。
需要權(quán)限: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
系統(tǒng)API : 此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
want | [Want] | 是 | 啟動(dòng)Ability的want信息。 |
accountId | number | 是 | 需要啟動(dòng)的accountId。 |
options | [ConnectOptions] | 否 | 遠(yuǎn)端對(duì)象實(shí)例。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 返回Ability連接的結(jié)果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): Promise;
已成功連接接口。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
系統(tǒng)API : 此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
connection | number | 是 | 連接的能力的數(shù)字代碼。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 返回執(zhí)行結(jié)果。 |
示例:
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:AsyncCallback): void;
已成功連接接口。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
系統(tǒng)API : 此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
connection | number | 是 | 連接的能力的數(shù)字代碼。 |
callback | AsyncCallback | 是 | 表示指定的回調(diào)方法。 |
示例:
var connectionNumber = 0;
this.context.disconnectAbility(connectionNumber, (err) = > {
console.log('---------- disconnectAbility fail, err: -----------', err);
});
AbilityContext.startAbilityByCall
startAbilityByCall(want: Want): Promise;
獲取指定通用組件服務(wù)端的caller通信接口, 并且將指定通用組件服務(wù)端拉起并切換到后臺(tái)。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
want | [Want] | 是 | 傳入需要啟動(dòng)的ability的信息,包含ability名稱、包名、設(shè)備ID,設(shè)備ID缺省或?yàn)榭毡硎締?dòng)本地ability。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 獲取要通訊的caller對(duì)象。 |
示例:
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: AsyncCallback): void;
根據(jù)account啟動(dòng)Ability(callback形式)。
需要權(quán)限 : ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
系統(tǒng)API : 此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
want | [Want] | 是 | 啟動(dòng)Ability的want信息。 |
accountId | number | 是 | 需要啟動(dòng)的accountId。 |
callback | AsyncCallback | 是 | 啟動(dòng)Ability的回調(diào)函數(shù)。 |
示例:
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: AsyncCallback): void;
根據(jù)account啟動(dòng)Ability(callback形式)。
需要權(quán)限 : ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
系統(tǒng)API : 此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
want | [Want] | 是 | 啟動(dòng)Ability的want信息。 |
accountId | number | 是 | 需要啟動(dòng)的accountId。 |
options | [StartOptions] | 否 | 啟動(dòng)Ability所攜帶的參數(shù)。 |
callback | AsyncCallback | 是 | 啟動(dòng)Ability的回調(diào)函數(shù)。 |
示例:
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): Promise;
根據(jù)account啟動(dòng)Ability(Promise形式)。
需要權(quán)限 : ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
系統(tǒng)API : 此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
want | [Want] | 是 | 啟動(dòng)Ability的want信息。 |
accountId | number | 是 | 需要啟動(dòng)的accountId。 |
options | [StartOptions] | 否 | 啟動(dòng)Ability所攜帶的參數(shù)。 |
示例:
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: Array, requestCallback: AsyncCallback) : void;
拉起彈窗請(qǐng)求用戶授權(quán)。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
permissions | Array | 是 | 權(quán)限列表。 |
callback | AsyncCallback[PermissionRequestResult] | 是 | 回調(diào)函數(shù),返回接口調(diào)用是否成功的結(jié)果。 |
示例:
var permissions=['com.example.permission']
this.context.requestPermissionsFromUser(permissions,(result) = > {
console.log('requestPermissionsFromUserresult:' + JSON.stringify(result));
});
AbilityContext.requestPermissionsFromUser
requestPermissionsFromUser(permissions: Array) : Promise;
拉起彈窗請(qǐng)求用戶授權(quán)。通過(guò)Promise返回結(jié)果。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
permissions | Array | 是 | 權(quán)限列表。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise[PermissionRequestResult] | 返回一個(gè)Promise,包含接口的結(jié)果。 |
示例:
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:AsyncCallback): void;
設(shè)置ability在任務(wù)中顯示的名稱。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
label | string | 是 | 顯示名稱。 |
callback | AsyncCallback | 是 | 回調(diào)函數(shù),返回接口調(diào)用是否成功的結(jié)果。 |
示例:
this.context.setMissionLabel("test",(result) = > {
console.log('requestPermissionsFromUserresult:' + JSON.stringify(result));
});
AbilityContext.setMissionLabel
setMissionLabel(label: string): Promise
設(shè)置ability在任務(wù)中顯示的名稱。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
label | string | 是 | 顯示名稱。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 返回一個(gè)Promise,包含接口的結(jié)果。 |
示例:
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:AsyncCallback): void;
設(shè)置當(dāng)前ability的任務(wù)標(biāo)簽。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
系統(tǒng)API : 此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
icon | image.PixelMap | 是 | 在最近的任務(wù)中顯示的能力圖標(biāo)。 |
callback | AsyncCallback | 是 | 指定的回調(diào)函數(shù)的結(jié)果。 |
示例:
import image from '@ohos.multimedia.image'
var 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): Promise;
設(shè)置當(dāng)前ability的任務(wù)標(biāo)簽。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
系統(tǒng)API : 此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
icon | image.PixelMap | 是 | 在最近的任務(wù)中顯示的能力圖標(biāo)。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Promise | 返回一個(gè)Promise,包含接口的結(jié)果。 |
示例:
import image from '@ohos.multimedia.image'
var 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;
恢復(fù)ability中的window stage數(shù)據(jù)。
系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
localStorage | image.LocalStorage | 是 | 用于恢復(fù)window stage的存儲(chǔ)數(shù)據(jù)。 |
示例:
var storage = new LocalStorage();
this.context.restoreWindowStage(storage);
審核編輯 黃宇
-
接口
+關(guān)注
關(guān)注
33文章
8497瀏覽量
150834 -
API
+關(guān)注
關(guān)注
2文章
1485瀏覽量
61814 -
框架
+關(guān)注
關(guān)注
0文章
399瀏覽量
17433 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2308瀏覽量
42739
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論