提交 6d3061dc 编写于 作者: zyjhandsome's avatar zyjhandsome

1、Ability的导入模块修改为:import UIAbility from '@ohos.app.ability.UIAbility';

2、MainAbility修改为EntryAbility。
Signed-off-by: zyjhandsome's avatarzyjhandsome <zyjhandsome@126.com>
上级 313fc101
...@@ -189,9 +189,9 @@ export default class MyAbilityStage extends AbilityStage { ...@@ -189,9 +189,9 @@ export default class MyAbilityStage extends AbilityStage {
**示例** **示例**
```javascript ```javascript
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
console.log("[Demo] MainAbility onCreate") console.log("[Demo] MainAbility onCreate")
globalThis.abilityWant = want; globalThis.abilityWant = want;
...@@ -257,9 +257,9 @@ Stage模型下,在Ability的`onWindowStageCreate`生命周期中,可以通 ...@@ -257,9 +257,9 @@ Stage模型下,在Ability的`onWindowStageCreate`生命周期中,可以通
```ts ```ts
// MainAbility.ts // MainAbility.ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
console.log("[Demo] MainAbility onCreate") console.log("[Demo] MainAbility onCreate")
} }
......
...@@ -147,7 +147,7 @@ ...@@ -147,7 +147,7 @@
导入模块 导入模块
```javascript ```javascript
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
import AbilityConstant from '@ohos.application.AbilityConstant'; import AbilityConstant from '@ohos.application.AbilityConstant';
``` ```
...@@ -185,10 +185,10 @@ ...@@ -185,10 +185,10 @@
示例 示例
```javascript ```javascript
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
storage : LocalStorag; storage : LocalStorag;
onCreate(want, launchParam) { onCreate(want, launchParam) {
...@@ -207,8 +207,6 @@ ...@@ -207,8 +207,6 @@
``` ```
如果是单实例应用,则同样的代码实现onNewWant接口即可。 如果是单实例应用,则同样的代码实现onNewWant接口即可。
### 迁移数据 ### 迁移数据
使用分布式对象 使用分布式对象
...@@ -220,12 +218,12 @@ ...@@ -220,12 +218,12 @@
- 发起端在onContinue()中,将待迁移的数据存入分布式对象中,并调用save接口将数据保存并同步到远端,然后设置好session id,并通过wantParam将session id传到远端设备。 - 发起端在onContinue()中,将待迁移的数据存入分布式对象中,并调用save接口将数据保存并同步到远端,然后设置好session id,并通过wantParam将session id传到远端设备。
```javascript ```javascript
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
var g_object = distributedObject.createDistributedObject({data:undefined}); var g_object = distributedObject.createDistributedObject({data:undefined});
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
sessionId : string; sessionId : string;
onContinue(wantParam : {[key: string]: any}) { onContinue(wantParam : {[key: string]: any}) {
...@@ -256,34 +254,33 @@ ...@@ -256,34 +254,33 @@
- 目标设备在onCreate()中,取出发起端传过来的session id,建立分布式对象并关联该session id,这样就能实现分布式对象的同步。需要注意的是,在调用restoreWindowStage之前,迁移需要的分布式对象必须全部关联完,保证能够获取到正确的数据。 - 目标设备在onCreate()中,取出发起端传过来的session id,建立分布式对象并关联该session id,这样就能实现分布式对象的同步。需要注意的是,在调用restoreWindowStage之前,迁移需要的分布式对象必须全部关联完,保证能够获取到正确的数据。
```javascript ```javascript
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
var g_object = distributedObject.createDistributedObject({data:undefined}); var g_object = distributedObject.createDistributedObject({data:undefined});
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
storage : LocalStorag; storage : LocalStorag;
onCreate(want, launchParam) {
Logger.info(`MainAbility onCreate ${AbilityConstant.LaunchReason.CONTINUATION}`)
if (launchParam.launchReason == AbilityConstant.LaunchReason.CONTINUATION) {
// get distributed data object session id from want params
this.sessionId = want.parameters.session
Logger.info(`onCreate for continuation sessionId: ${this.sessionId}`)
onCreate(want, launchParam) { // in order to fetch from remote, reset g_object.data to undefined first
Logger.info(`MainAbility onCreate ${AbilityConstant.LaunchReason.CONTINUATION}`) g_object.data = undefined;
if (launchParam.launchReason == AbilityConstant.LaunchReason.CONTINUATION) { // set session id, so it will fetch data from remote
// get distributed data object session id from want params g_object.setSessionId(this.sessionId);
this.sessionId = want.parameters.session
Logger.info(`onCreate for continuation sessionId: ${this.sessionId}`)
// in order to fetch from remote, reset g_object.data to undefined first AppStorage.SetOrCreate<string>('ContinueStudy', g_object.data)
g_object.data = undefined; this.storage = new LocalStorage();
// set session id, so it will fetch data from remote this.context.restoreWindowStage(this.storage);
g_object.setSessionId(this.sessionId); }
AppStorage.SetOrCreate<string>('ContinueStudy', g_object.data) }
this.storage = new LocalStorage(); }
this.context.restoreWindowStage(this.storage);
}
}
}
``` ```
......
...@@ -69,13 +69,13 @@ Ability功能如下(Ability类,具体的API详见[接口文档](../reference ...@@ -69,13 +69,13 @@ Ability功能如下(Ability类,具体的API详见[接口文档](../reference
``` ```
3. 导入Ability模块。 3. 导入Ability模块。
```js ```js
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
``` ```
4. 实现Ability生命周期接口,接口默认生成的相对路径:entry\src\main\ets\MainAbility\MainAbility.ts。 4. 实现Ability生命周期接口,接口默认生成的相对路径:entry\src\main\ets\MainAbility\MainAbility.ts。
`onWindowStageCreate(windowStage)`中通过loadContent接口设置应用要加载的页面,window接口的使用详见[窗口开发指导](../windowmanager/application-window-stage.md) `onWindowStageCreate(windowStage)`中通过loadContent接口设置应用要加载的页面,window接口的使用详见[窗口开发指导](../windowmanager/application-window-stage.md)
```ts ```ts
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
console.log("MainAbility onCreate") console.log("MainAbility onCreate")
} }
...@@ -132,8 +132,9 @@ export default class MyAbilityStage extends AbilityStage { ...@@ -132,8 +132,9 @@ export default class MyAbilityStage extends AbilityStage {
如下示例展示了Ability通过context属性获取包代码路径、HAP名称、Ability名称以及系统语言的方法。具体示例代码如下: 如下示例展示了Ability通过context属性获取包代码路径、HAP名称、Ability名称以及系统语言的方法。具体示例代码如下:
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
export default class MainAbility extends Ability {
export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
console.log("MainAbility onCreate") console.log("MainAbility onCreate")
let context = this.context let context = this.context
...@@ -169,10 +170,10 @@ export default class MyAbilityStage extends AbilityStage { ...@@ -169,10 +170,10 @@ export default class MyAbilityStage extends AbilityStage {
如下示例展示了Ability的`onConfigurationUpdated`回调实现,系统语言、颜色模式以及Display相关的参数,比如方向、Density,发生变化时触发该回调。具体示例代码如下: 如下示例展示了Ability的`onConfigurationUpdated`回调实现,系统语言、颜色模式以及Display相关的参数,比如方向、Density,发生变化时触发该回调。具体示例代码如下:
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import ConfigurationConstant from '@ohos.application.ConfigurationConstant' import ConfigurationConstant from '@ohos.application.ConfigurationConstant';
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
direction : number; direction : number;
onCreate(want, launchParam) { onCreate(want, launchParam) {
...@@ -272,9 +273,9 @@ async function reStartAbility() { ...@@ -272,9 +273,9 @@ async function reStartAbility() {
在Ability的onNewWant回调中获取包含页面信息的want参数: 在Ability的onNewWant回调中获取包含页面信息的want参数:
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onNewWant(want, launchParams) { onNewWant(want, launchParams) {
globalThis.newWant = want globalThis.newWant = want
} }
......
...@@ -132,7 +132,7 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其 ...@@ -132,7 +132,7 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其
1. 导入基础依赖包。 1. 导入基础依赖包。
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
import dataShare from '@ohos.data.dataShare'; import dataShare from '@ohos.data.dataShare';
import dataSharePredicates from '@ohos.data.dataSharePredicates'; import dataSharePredicates from '@ohos.data.dataSharePredicates';
``` ```
...@@ -150,7 +150,7 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其 ...@@ -150,7 +150,7 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其
let dsHelper; let dsHelper;
let abilityContext; let abilityContext;
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
abilityContext = this.context; abilityContext = this.context;
dataShare.createDataShareHelper(abilityContext, dseUri, (err, data)=>{ dataShare.createDataShareHelper(abilityContext, dseUri, (err, data)=>{
...@@ -185,4 +185,3 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其 ...@@ -185,4 +185,3 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其
console.log("dsHelper delete result: " + data); console.log("dsHelper delete result: " + data);
}); });
``` ```
...@@ -68,12 +68,12 @@ ...@@ -68,12 +68,12 @@
grantPermission(); grantPermission();
// Stage模型 // Stage模型
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
let context = null; let context = null;
function grantPermission() { function grantPermission() {
class MainAbility extends Ability { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
let context = this.context; let context = this.context;
} }
......
...@@ -113,10 +113,10 @@ ...@@ -113,10 +113,10 @@
```ts ```ts
// 获取context // 获取context
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let context = null; let context = null;
let preferences = null; let preferences = null;
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context; context = this.context;
} }
......
...@@ -219,9 +219,9 @@ ...@@ -219,9 +219,9 @@
```ts ```ts
import data_rdb from '@ohos.data.relationalStore' import data_rdb from '@ohos.data.relationalStore'
// 获取context // 获取context
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let context = null let context = null
class MainAbility extends Ability { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
context = this.context context = this.context
} }
...@@ -250,7 +250,7 @@ ...@@ -250,7 +250,7 @@
const valueBucket = { "name": "Tom", "age": 18, "salary": 100.5, "blobType": u8 } const valueBucket = { "name": "Tom", "age": 18, "salary": 100.5, "blobType": u8 }
let insertPromise = rdbStore.insert("test", valueBucket) let insertPromise = rdbStore.insert("test", valueBucket)
``` ```
```js ```js
//使用事务插入数据 //使用事务插入数据
beginTransaction() beginTransaction()
...@@ -361,7 +361,7 @@ ...@@ -361,7 +361,7 @@
console.log('device=' + device[i] + 'data changed') console.log('device=' + device[i] + 'data changed')
} }
} }
try { try {
rdbStore.on('dataChange', data_rdb.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver) rdbStore.on('dataChange', data_rdb.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver)
} catch (err) { } catch (err) {
......
...@@ -36,8 +36,8 @@ ...@@ -36,8 +36,8 @@
## 开发示例 ## 开发示例
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import errorManager from '@ohos.application.errorManager' import errorManager from '@ohos.application.errorManager';
var registerId = -1; var registerId = -1;
var callback = { var callback = {
...@@ -46,7 +46,7 @@ var callback = { ...@@ -46,7 +46,7 @@ var callback = {
} }
} }
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
console.log("[Demo] MainAbility onCreate") console.log("[Demo] MainAbility onCreate")
registerId = errorManager.registerErrorObserver(callback); registerId = errorManager.registerErrorObserver(callback);
......
...@@ -49,11 +49,11 @@ HiAppEvent是在系统层面为应用开发者提供的一种事件打点机制 ...@@ -49,11 +49,11 @@ HiAppEvent是在系统层面为应用开发者提供的一种事件打点机制
```js ```js
import hilog from '@ohos.hilog'; import hilog from '@ohos.hilog';
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import Window from '@ohos.window' import Window from '@ohos.window'
import hiAppEvent from '@ohos.hiviewdfx.hiAppEvent' import hiAppEvent from '@ohos.hiviewdfx.hiAppEvent'
export default class EntryAbility extends Ability { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO);
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
......
...@@ -105,10 +105,10 @@ var media = mediaLibrary.getMediaLibrary(context); ...@@ -105,10 +105,10 @@ var media = mediaLibrary.getMediaLibrary(context);
2. 调用requestPermissionsFromUser进行权限校验,可以选择需要动态申请获取的权限。 2. 调用requestPermissionsFromUser进行权限校验,可以选择需要动态申请获取的权限。
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
import abilityAccessCtrl from '@ohos.abilityAccessCtrl.d.ts'; import abilityAccessCtrl from '@ohos.abilityAccessCtrl.d.ts';
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
var permissions=['ohos.permission.READ_MEDIA','ohos.permission.WRITE_MEDIA'] var permissions=['ohos.permission.READ_MEDIA','ohos.permission.WRITE_MEDIA']
var permissionRequestResult; var permissionRequestResult;
......
...@@ -102,10 +102,9 @@ Ability:一个应用程序可以拥有多个Ability,一个Ability中的所 ...@@ -102,10 +102,9 @@ Ability:一个应用程序可以拥有多个Ability,一个Ability中的所
LocalStorage通过loadContent接口加载,接口说明详见[loadContent](../reference/apis/js-apis-window.md#loadcontent9-1) LocalStorage通过loadContent接口加载,接口说明详见[loadContent](../reference/apis/js-apis-window.md#loadcontent9-1)
```ts ```ts
// MainAbility.ts import UIAbility from '@ohos.app.ability.UIAbility';
import Ability from '@ohos.application.Ability'
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
storage: LocalStorage storage: LocalStorage
onCreate() { onCreate() {
......
...@@ -15,7 +15,7 @@ Ability模块提供对Ability生命周期、上下文环境等调用管理的能 ...@@ -15,7 +15,7 @@ Ability模块提供对Ability生命周期、上下文环境等调用管理的能
## 导入模块 ## 导入模块
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
``` ```
## 属性 ## 属性
...@@ -47,7 +47,7 @@ Ability创建时回调,执行初始化业务逻辑操作。 ...@@ -47,7 +47,7 @@ Ability创建时回调,执行初始化业务逻辑操作。
**示例:** **示例:**
```ts ```ts
class myAbility extends Ability { export default class EntryAbility extends UIAbility {
onCreate(want, param) { onCreate(want, param) {
console.log('onCreate, want:' + want.abilityName); console.log('onCreate, want:' + want.abilityName);
} }
...@@ -389,8 +389,9 @@ call(method: string, data: rpc.Sequenceable): Promise&lt;void&gt;; ...@@ -389,8 +389,9 @@ call(method: string, data: rpc.Sequenceable): Promise&lt;void&gt;;
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
class MyMessageAble{ // 自定义的Sequenceable数据结构
class MyMessageAble { // 自定义的Sequenceable数据结构
name:"" name:""
str:"" str:""
num: 1 num: 1
...@@ -413,7 +414,7 @@ call(method: string, data: rpc.Sequenceable): Promise&lt;void&gt;; ...@@ -413,7 +414,7 @@ call(method: string, data: rpc.Sequenceable): Promise&lt;void&gt;;
}; };
var method = 'call_Function'; // 约定的通知消息字符串 var method = 'call_Function'; // 约定的通知消息字符串
var caller; var caller;
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
this.context.startAbilityByCall({ this.context.startAbilityByCall({
bundleName: "com.example.myservice", bundleName: "com.example.myservice",
...@@ -473,7 +474,8 @@ callWithResult(method: string, data: rpc.Sequenceable): Promise&lt;rpc.MessagePa ...@@ -473,7 +474,8 @@ callWithResult(method: string, data: rpc.Sequenceable): Promise&lt;rpc.MessagePa
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
class MyMessageAble{ class MyMessageAble{
name:"" name:""
str:"" str:""
...@@ -497,7 +499,7 @@ callWithResult(method: string, data: rpc.Sequenceable): Promise&lt;rpc.MessagePa ...@@ -497,7 +499,7 @@ callWithResult(method: string, data: rpc.Sequenceable): Promise&lt;rpc.MessagePa
}; };
var method = 'call_Function'; var method = 'call_Function';
var caller; var caller;
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
this.context.startAbilityByCall({ this.context.startAbilityByCall({
bundleName: "com.example.myservice", bundleName: "com.example.myservice",
...@@ -544,10 +546,13 @@ release(): void; ...@@ -544,10 +546,13 @@ release(): void;
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
var caller; var caller;
export default class MainAbility extends Ability {
export default class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
this.context.startAbilityByCall({ this.context.startAbilityByCall({
bundleName: "com.example.myservice", bundleName: "com.example.myservice",
...@@ -586,9 +591,11 @@ release(): void; ...@@ -586,9 +591,11 @@ release(): void;
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
var caller; var caller;
export default class MainAbility extends Ability {
export default class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
this.context.startAbilityByCall({ this.context.startAbilityByCall({
bundleName: "com.example.myservice", bundleName: "com.example.myservice",
...@@ -643,7 +650,7 @@ on(method: string, callback: CalleeCallBack): void; ...@@ -643,7 +650,7 @@ on(method: string, callback: CalleeCallBack): void;
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
class MyMessageAble{ class MyMessageAble{
name:"" name:""
str:"" str:""
...@@ -672,7 +679,7 @@ on(method: string, callback: CalleeCallBack): void; ...@@ -672,7 +679,7 @@ on(method: string, callback: CalleeCallBack): void;
pdata.readSequenceable(msg); pdata.readSequenceable(msg);
return new MyMessageAble("test1", "Callee test"); return new MyMessageAble("test1", "Callee test");
} }
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
console.log('Callee onCreate is called'); console.log('Callee onCreate is called');
try { try {
...@@ -711,9 +718,11 @@ off(method: string): void; ...@@ -711,9 +718,11 @@ off(method: string): void;
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
var method = 'call_Function'; var method = 'call_Function';
export default class MainAbility extends Ability {
export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
console.log('Callee onCreate is called'); console.log('Callee onCreate is called');
try { try {
......
...@@ -29,10 +29,10 @@ import Configuration from '@ohos.application.Configuration' ...@@ -29,10 +29,10 @@ import Configuration from '@ohos.application.Configuration'
```ts ```ts
import hilog from '@ohos.hilog'; import hilog from '@ohos.hilog';
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import Window from '@ohos.window' import Window from '@ohos.window';
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
} }
......
...@@ -205,7 +205,7 @@ wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => { ...@@ -205,7 +205,7 @@ wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
Stage模型示例: Stage模型示例:
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import backgroundTaskManager from '@ohos.backgroundTaskManager'; import backgroundTaskManager from '@ohos.backgroundTaskManager';
import wantAgent from '@ohos.wantAgent'; import wantAgent from '@ohos.wantAgent';
...@@ -217,7 +217,7 @@ function callback(err, data) { ...@@ -217,7 +217,7 @@ function callback(err, data) {
} }
} }
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
let wantAgentInfo = { let wantAgentInfo = {
wants: [ wants: [
...@@ -297,11 +297,11 @@ wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => { ...@@ -297,11 +297,11 @@ wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
Stage模型示例: Stage模型示例:
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import backgroundTaskManager from '@ohos.backgroundTaskManager'; import backgroundTaskManager from '@ohos.backgroundTaskManager';
import wantAgent from '@ohos.wantAgent'; import wantAgent from '@ohos.wantAgent';
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
let wantAgentInfo = { let wantAgentInfo = {
wants: [ wants: [
...@@ -365,7 +365,7 @@ backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext(), callbac ...@@ -365,7 +365,7 @@ backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext(), callbac
Stage模型示例: Stage模型示例:
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import backgroundTaskManager from '@ohos.backgroundTaskManager'; import backgroundTaskManager from '@ohos.backgroundTaskManager';
function callback(err, data) { function callback(err, data) {
...@@ -376,7 +376,7 @@ function callback(err, data) { ...@@ -376,7 +376,7 @@ function callback(err, data) {
} }
} }
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
backgroundTaskManager.stopBackgroundRunning(this.context, callback); backgroundTaskManager.stopBackgroundRunning(this.context, callback);
} }
...@@ -422,10 +422,10 @@ backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext()).then(() ...@@ -422,10 +422,10 @@ backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext()).then(()
Stage模型示例: Stage模型示例:
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import backgroundTaskManager from '@ohos.backgroundTaskManager'; import backgroundTaskManager from '@ohos.backgroundTaskManager';
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
backgroundTaskManager.stopBackgroundRunning(this.context).then(() => { backgroundTaskManager.stopBackgroundRunning(this.context).then(() => {
console.info("Operation stopBackgroundRunning succeeded"); console.info("Operation stopBackgroundRunning succeeded");
......
...@@ -188,8 +188,8 @@ bundle.getBundleInstaller().then(installer => { ...@@ -188,8 +188,8 @@ bundle.getBundleInstaller().then(installer => {
**示例:** **示例:**
``` ts ``` ts
// Stage模型 // Stage模型
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
let context = this.context; let context = this.context;
let pathDir = context.filesDir; let pathDir = context.filesDir;
......
...@@ -70,7 +70,7 @@ createDataShareHelper(context: Context, uri: string, callback: AsyncCallback&lt; ...@@ -70,7 +70,7 @@ createDataShareHelper(context: Context, uri: string, callback: AsyncCallback&lt;
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
let dataShareHelper; let dataShareHelper;
...@@ -125,7 +125,7 @@ createDataShareHelper(context: Context, uri: string): Promise&lt;DataShareHelper ...@@ -125,7 +125,7 @@ createDataShareHelper(context: Context, uri: string): Promise&lt;DataShareHelper
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
let dataShareHelper; let dataShareHelper;
...@@ -164,7 +164,8 @@ on(type: 'dataChange', uri: string, callback: AsyncCallback&lt;void&gt;): void ...@@ -164,7 +164,8 @@ on(type: 'dataChange', uri: string, callback: AsyncCallback&lt;void&gt;): void
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
function onCallback() { function onCallback() {
console.info("**** Observer on callback ****"); console.info("**** Observer on callback ****");
} }
...@@ -191,7 +192,8 @@ off(type: 'dataChange', uri: string, callback?: AsyncCallback&lt;void&gt;): void ...@@ -191,7 +192,8 @@ off(type: 'dataChange', uri: string, callback?: AsyncCallback&lt;void&gt;): void
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
function offCallback() { function offCallback() {
console.info("**** Observer off callback ****"); console.info("**** Observer off callback ****");
} }
...@@ -218,7 +220,8 @@ insert(uri: string, value: ValuesBucket, callback: AsyncCallback&lt;number&gt;): ...@@ -218,7 +220,8 @@ insert(uri: string, value: ValuesBucket, callback: AsyncCallback&lt;number&gt;):
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
const valueBucket = { const valueBucket = {
"name": "rose", "name": "rose",
...@@ -262,7 +265,8 @@ insert(uri: string, value: ValuesBucket): Promise&lt;number&gt; ...@@ -262,7 +265,8 @@ insert(uri: string, value: ValuesBucket): Promise&lt;number&gt;
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
const valueBucket = { const valueBucket = {
"name": "rose1", "name": "rose1",
...@@ -299,8 +303,8 @@ delete(uri: string, predicates: dataSharePredicates.DataSharePredicates, callbac ...@@ -299,8 +303,8 @@ delete(uri: string, predicates: dataSharePredicates.DataSharePredicates, callbac
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
let da = new dataSharePredicates.DataSharePredicates(); let da = new dataSharePredicates.DataSharePredicates();
...@@ -342,8 +346,8 @@ delete(uri: string, predicates: dataSharePredicates.DataSharePredicates): Promis ...@@ -342,8 +346,8 @@ delete(uri: string, predicates: dataSharePredicates.DataSharePredicates): Promis
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
let da = new dataSharePredicates.DataSharePredicates(); let da = new dataSharePredicates.DataSharePredicates();
...@@ -379,8 +383,8 @@ query(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns: ...@@ -379,8 +383,8 @@ query(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns:
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
let columns = ["*"]; let columns = ["*"];
...@@ -424,8 +428,8 @@ query(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns: ...@@ -424,8 +428,8 @@ query(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns:
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
let columns = ["*"]; let columns = ["*"];
...@@ -462,8 +466,8 @@ update(uri: string, predicates: dataSharePredicates.DataSharePredicates, value: ...@@ -462,8 +466,8 @@ update(uri: string, predicates: dataSharePredicates.DataSharePredicates, value:
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
let da = new dataSharePredicates.DataSharePredicates(); let da = new dataSharePredicates.DataSharePredicates();
...@@ -512,8 +516,8 @@ update(uri: string, predicates: dataSharePredicates.DataSharePredicates, value: ...@@ -512,8 +516,8 @@ update(uri: string, predicates: dataSharePredicates.DataSharePredicates, value:
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import dataSharePredicates from '@ohos.data.dataSharePredicates' import dataSharePredicates from '@ohos.data.dataSharePredicates';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
let da = new dataSharePredicates.DataSharePredicates(); let da = new dataSharePredicates.DataSharePredicates();
...@@ -554,7 +558,8 @@ batchInsert(uri: string, values: Array&lt;ValuesBucket&gt;, callback: AsyncCallb ...@@ -554,7 +558,8 @@ batchInsert(uri: string, values: Array&lt;ValuesBucket&gt;, callback: AsyncCallb
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
let vbs = new Array({"name": "roe11", "age": 21, "salary": 20.5,}, let vbs = new Array({"name": "roe11", "age": 21, "salary": 20.5,},
{"name": "roe12", "age": 21, "salary": 20.5,}, {"name": "roe12", "age": 21, "salary": 20.5,},
...@@ -596,7 +601,8 @@ batchInsert(uri: string, values: Array&lt;ValuesBucket&gt;): Promise&lt;number&g ...@@ -596,7 +601,8 @@ batchInsert(uri: string, values: Array&lt;ValuesBucket&gt;): Promise&lt;number&g
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
let vbs = new Array({"name": "roe11", "age": 21, "salary": 20.5,}, let vbs = new Array({"name": "roe11", "age": 21, "salary": 20.5,},
{"name": "roe12", "age": 21, "salary": 20.5,}, {"name": "roe12", "age": 21, "salary": 20.5,},
...@@ -630,7 +636,8 @@ normalizeUri(uri: string, callback: AsyncCallback&lt;string&gt;): void ...@@ -630,7 +636,8 @@ normalizeUri(uri: string, callback: AsyncCallback&lt;string&gt;): void
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.normalizeUri(uri, (err, data) => { dataShareHelper.normalizeUri(uri, (err, data) => {
if (err != undefined) { if (err != undefined) {
...@@ -664,7 +671,8 @@ normalizeUri(uri: string): Promise&lt;string&gt; ...@@ -664,7 +671,8 @@ normalizeUri(uri: string): Promise&lt;string&gt;
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.normalizeUri(uri).then((data) => { dataShareHelper.normalizeUri(uri).then((data) => {
console.log("normalizeUri = " + data); console.log("normalizeUri = " + data);
...@@ -691,7 +699,8 @@ denormalizeUri(uri: string, callback: AsyncCallback&lt;string&gt;): void ...@@ -691,7 +699,8 @@ denormalizeUri(uri: string, callback: AsyncCallback&lt;string&gt;): void
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.denormalizeUri(uri, (err, data) => { dataShareHelper.denormalizeUri(uri, (err, data) => {
if (err != undefined) { if (err != undefined) {
...@@ -725,7 +734,8 @@ denormalizeUri(uri: string): Promise&lt;string&gt; ...@@ -725,7 +734,8 @@ denormalizeUri(uri: string): Promise&lt;string&gt;
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.denormalizeUri(uri).then((data) => { dataShareHelper.denormalizeUri(uri).then((data) => {
console.log("denormalizeUri = " + data); console.log("denormalizeUri = " + data);
...@@ -752,7 +762,8 @@ notifyChange(uri: string, callback: AsyncCallback&lt;void&gt;): void ...@@ -752,7 +762,8 @@ notifyChange(uri: string, callback: AsyncCallback&lt;void&gt;): void
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.notifyChange(uri, () => { dataShareHelper.notifyChange(uri, () => {
console.log("***** notifyChange *****"); console.log("***** notifyChange *****");
...@@ -782,7 +793,8 @@ notifyChange(uri: string): Promise&lt;void&gt; ...@@ -782,7 +793,8 @@ notifyChange(uri: string): Promise&lt;void&gt;
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare"); let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.notifyChange(uri); dataShareHelper.notifyChange(uri);
``` ```
\ No newline at end of file
...@@ -27,7 +27,7 @@ create(context: Context, source: object): DistributedObjectV9 ...@@ -27,7 +27,7 @@ create(context: Context, source: object): DistributedObjectV9
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| context | Context | 是 | 应用的上下文。 <br>FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)<br>Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。 | | context | Context | 是 | 应用的上下文。 <br>FA模型的应用Context定义见[Context](js-apis-inner-app-context.md)<br>Stage模型的应用Context定义见[Context](js-apis-ability-context.md)。 |
| source | object | 是 | 设置分布式数据对象的属性。 | | source | object | 是 | 设置分布式数据对象的属性。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
...@@ -53,10 +53,11 @@ Stage模型示例: ...@@ -53,10 +53,11 @@ Stage模型示例:
```ts ```ts
// 导入模块 // 导入模块
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
// 获取context // 获取context
let context; let context;
class MainAbility extends Ability{ class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
...@@ -156,10 +157,11 @@ Stage模型示例 ...@@ -156,10 +157,11 @@ Stage模型示例
```ts ```ts
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
// 获取context // 获取context
let context; let context;
class MainAbility extends Ability{ class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
...@@ -218,10 +220,11 @@ Stage模型示例 ...@@ -218,10 +220,11 @@ Stage模型示例
```ts ```ts
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
// 获取context // 获取context
let context; let context;
class MainAbility extends Ability{ class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
...@@ -294,10 +297,11 @@ Stage模型示例 ...@@ -294,10 +297,11 @@ Stage模型示例
```ts ```ts
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
// 获取context // 获取context
let context; let context;
class MainAbility extends Ability{ class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
...@@ -357,10 +361,11 @@ Stage模型示例 ...@@ -357,10 +361,11 @@ Stage模型示例
```ts ```ts
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
// 获取context // 获取context
let context; let context;
class MainAbility extends Ability{ class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
...@@ -413,10 +418,11 @@ Stage模型示例 ...@@ -413,10 +418,11 @@ Stage模型示例
```ts ```ts
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
// 获取context // 获取context
let context; let context;
class MainAbility extends Ability{ class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
...@@ -463,10 +469,11 @@ Stage模型示例 ...@@ -463,10 +469,11 @@ Stage模型示例
```ts ```ts
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
// 获取context // 获取context
let context; let context;
class MainAbility extends Ability{ class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
...@@ -517,10 +524,11 @@ Stage模型示例 ...@@ -517,10 +524,11 @@ Stage模型示例
```ts ```ts
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
// 获取context // 获取context
let context; let context;
class MainAbility extends Ability{ class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
...@@ -579,10 +587,11 @@ g_object.save("local", (result) => { ...@@ -579,10 +587,11 @@ g_object.save("local", (result) => {
Stage模型示例 Stage模型示例
```ts ```ts
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
// 获取context // 获取context
let context; let context;
class MainAbility extends Ability{ class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
...@@ -646,10 +655,11 @@ g_object.save("local").then((result) => { ...@@ -646,10 +655,11 @@ g_object.save("local").then((result) => {
```js ```js
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
// 获取context // 获取context
let context; let context;
class MainAbility extends Ability{ class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
...@@ -712,10 +722,11 @@ Stage模型示例 ...@@ -712,10 +722,11 @@ Stage模型示例
```ts ```ts
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
// 获取context // 获取context
let context; let context;
class MainAbility extends Ability { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
context = this.context context = this.context
} }
...@@ -786,10 +797,11 @@ Stage模型示例 ...@@ -786,10 +797,11 @@ Stage模型示例
```ts ```ts
import distributedObject from '@ohos.data.distributedDataObject'; import distributedObject from '@ohos.data.distributedDataObject';
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
// 获取context // 获取context
let context; let context;
class MainAbility extends Ability { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
context = this.context context = this.context
} }
......
...@@ -69,9 +69,11 @@ Stage模型示例: ...@@ -69,9 +69,11 @@ Stage模型示例:
```ts ```ts
// 获取context // 获取context
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
let context = null; let context = null;
class MainAbility extends Ability{
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context; context = this.context;
} }
...@@ -139,9 +141,11 @@ Stage模型示例: ...@@ -139,9 +141,11 @@ Stage模型示例:
```ts ```ts
// 获取context // 获取context
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
let context = null; let context = null;
class MainAbility extends Ability{
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context; context = this.context;
} }
...@@ -215,9 +219,11 @@ Stage模型示例: ...@@ -215,9 +219,11 @@ Stage模型示例:
```ts ```ts
// 获取context // 获取context
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
let context = null; let context = null;
class MainAbility extends Ability{
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context; context = this.context;
} }
...@@ -294,9 +300,11 @@ Stage模型示例: ...@@ -294,9 +300,11 @@ Stage模型示例:
```ts ```ts
// 获取context // 获取context
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
let context = null; let context = null;
class MainAbility extends Ability{
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context; context = this.context;
} }
...@@ -358,9 +366,11 @@ Stage模型示例: ...@@ -358,9 +366,11 @@ Stage模型示例:
```ts ```ts
// 获取context // 获取context
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
let context = null; let context = null;
class MainAbility extends Ability{
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context; context = this.context;
} }
...@@ -428,9 +438,9 @@ Stage模型示例: ...@@ -428,9 +438,9 @@ Stage模型示例:
```ts ```ts
// 获取context // 获取context
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
let context = null; let context = null;
class MainAbility extends Ability{ class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context; context = this.context;
} }
...@@ -497,7 +507,7 @@ get(key: string, defValue: ValueType): Promise&lt;ValueType&gt; ...@@ -497,7 +507,7 @@ get(key: string, defValue: ValueType): Promise&lt;ValueType&gt;
**系统能力:** SystemCapability.DistributedDataManager.Preferences.Core **系统能力:** SystemCapability.DistributedDataManager.Preferences.Core
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ------------------------------------------------------------ | | -------- | ----------------------- | ---- | ------------------------------------------------------------ |
| key | string | 是 | 要获取的存储Key名称,不能为空。 | | key | string | 是 | 要获取的存储Key名称,不能为空。 |
......
...@@ -60,9 +60,10 @@ Stage模型示例: ...@@ -60,9 +60,10 @@ Stage模型示例:
```ts ```ts
// 获取context // 获取context
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let context
class MainAbility extends Ability{ let context;
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
...@@ -124,9 +125,10 @@ Stage模型示例: ...@@ -124,9 +125,10 @@ Stage模型示例:
```ts ```ts
// 获取context // 获取context
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let context
class MainAbility extends Ability{ let context;
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
...@@ -181,9 +183,10 @@ Stage模型示例: ...@@ -181,9 +183,10 @@ Stage模型示例:
```ts ```ts
// 获取context // 获取context
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let context
class MainAbility extends Ability{ let context;
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
...@@ -242,9 +245,10 @@ Stage模型示例: ...@@ -242,9 +245,10 @@ Stage模型示例:
```ts ```ts
// 获取context // 获取context
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let context
class MainAbility extends Ability{ let context;
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
......
...@@ -77,9 +77,11 @@ Stage模型示例: ...@@ -77,9 +77,11 @@ Stage模型示例:
```ts ```ts
// 获取context // 获取context
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let context
class MainAbility extends Ability{ let context;
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
...@@ -169,9 +171,11 @@ Stage模型示例: ...@@ -169,9 +171,11 @@ Stage模型示例:
```ts ```ts
// 获取context // 获取context
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let context
class MainAbility extends Ability{ let context;
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
...@@ -244,9 +248,11 @@ Stage模型示例: ...@@ -244,9 +248,11 @@ Stage模型示例:
```ts ```ts
// 获取context // 获取context
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let context
class MainAbility extends Ability{ let context;
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
...@@ -313,9 +319,11 @@ Stage模型示例: ...@@ -313,9 +319,11 @@ Stage模型示例:
```ts ```ts
// 获取context // 获取context
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let context
class MainAbility extends Ability{ let context;
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){ onWindowStageCreate(windowStage){
context = this.context context = this.context
} }
......
...@@ -20,8 +20,9 @@ import fileio from '@ohos.fileio'; ...@@ -20,8 +20,9 @@ import fileio from '@ohos.fileio';
**Stage模型** **Stage模型**
```js ```js
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
class MainAbility extends Ability {
export default class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
let context = this.context; let context = this.context;
let pathDir = context.filesDir; let pathDir = context.filesDir;
...@@ -35,6 +36,7 @@ class MainAbility extends Ability { ...@@ -35,6 +36,7 @@ class MainAbility extends Ability {
```js ```js
import featureAbility from '@ohos.ability.featureAbility'; import featureAbility from '@ohos.ability.featureAbility';
let context = featureAbility.getContext(); let context = featureAbility.getContext();
context.getFilesDir().then((data) => { context.getFilesDir().then((data) => {
let pathDir = data; let pathDir = data;
......
...@@ -255,7 +255,7 @@ startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: Want ...@@ -255,7 +255,7 @@ startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: Want
**示例** **示例**
```js ```js
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import backgroundTaskManager from '@ohos.resourceschedule.backgroundTaskManager'; import backgroundTaskManager from '@ohos.resourceschedule.backgroundTaskManager';
import wantAgent from '@ohos.wantAgent'; import wantAgent from '@ohos.wantAgent';
...@@ -267,13 +267,13 @@ function callback(error, data) { ...@@ -267,13 +267,13 @@ function callback(error, data) {
} }
} }
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
let wantAgentInfo = { let wantAgentInfo = {
wants: [ wants: [
{ {
bundleName: "com.example.myapplication", bundleName: "com.example.myapplication",
abilityName: "MainAbility" abilityName: "EntryAbility"
} }
], ],
operationType: wantAgent.OperationType.START_ABILITY, operationType: wantAgent.OperationType.START_ABILITY,
...@@ -334,17 +334,17 @@ startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: Want ...@@ -334,17 +334,17 @@ startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: Want
**示例** **示例**
```js ```js
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import backgroundTaskManager from '@ohos.resourceschedule.backgroundTaskManager'; import backgroundTaskManager from '@ohos.resourceschedule.backgroundTaskManager';
import wantAgent from '@ohos.wantAgent'; import wantAgent from '@ohos.wantAgent';
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
let wantAgentInfo = { let wantAgentInfo = {
wants: [ wants: [
{ {
bundleName: "com.example.myapplication", bundleName: "com.example.myapplication",
abilityName: "MainAbility" abilityName: "EntryAbility"
} }
], ],
operationType: wantAgent.OperationType.START_ABILITY, operationType: wantAgent.OperationType.START_ABILITY,
...@@ -400,7 +400,7 @@ stopBackgroundRunning(context: Context, callback: AsyncCallback&lt;void&gt;): vo ...@@ -400,7 +400,7 @@ stopBackgroundRunning(context: Context, callback: AsyncCallback&lt;void&gt;): vo
**示例** **示例**
```js ```js
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import backgroundTaskManager from '@ohos.resourceschedule.backgroundTaskManager'; import backgroundTaskManager from '@ohos.resourceschedule.backgroundTaskManager';
function callback(error, data) { function callback(error, data) {
...@@ -411,7 +411,7 @@ function callback(error, data) { ...@@ -411,7 +411,7 @@ function callback(error, data) {
} }
} }
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
try { try {
backgroundTaskManager.stopBackgroundRunning(this.context, callback); backgroundTaskManager.stopBackgroundRunning(this.context, callback);
...@@ -461,10 +461,10 @@ stopBackgroundRunning(context: Context): Promise&lt;void&gt; ...@@ -461,10 +461,10 @@ stopBackgroundRunning(context: Context): Promise&lt;void&gt;
**示例** **示例**
```js ```js
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import backgroundTaskManager from '@ohos.resourceschedule.backgroundTaskManager'; import backgroundTaskManager from '@ohos.resourceschedule.backgroundTaskManager';
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
try { try {
backgroundTaskManager.stopBackgroundRunning(this.context).then(() => { backgroundTaskManager.stopBackgroundRunning(this.context).then(() => {
......
...@@ -228,14 +228,14 @@ static initializeWebEngine(): void ...@@ -228,14 +228,14 @@ static initializeWebEngine(): void
**示例:** **示例:**
本示例以 MainAbility 为例,描述了在 Ability 创建阶段完成 Web 组件动态库加载的功能。 本示例以EntryAbility为例,描述了在 Ability 创建阶段完成 Web 组件动态库加载的功能。
```ts ```ts
// xxx.ts // xxx.ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
export default class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
console.log("MainAbility onCreate") console.log("MainAbility onCreate")
web_webview.WebviewController.initializeWebEngine() web_webview.WebviewController.initializeWebEngine()
......
...@@ -5907,9 +5907,11 @@ getMainWindow(callback: AsyncCallback&lt;Window&gt;): void ...@@ -5907,9 +5907,11 @@ getMainWindow(callback: AsyncCallback&lt;Window&gt;): void
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility {
// ...
class myAbility extends Ability {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate'); console.log('onWindowStageCreate');
let windowClass = null; let windowClass = null;
...@@ -5953,9 +5955,11 @@ getMainWindow(): Promise&lt;Window&gt; ...@@ -5953,9 +5955,11 @@ getMainWindow(): Promise&lt;Window&gt;
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility {
// ...
class myAbility extends Ability {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate'); console.log('onWindowStageCreate');
let windowClass = null; let windowClass = null;
...@@ -5998,9 +6002,11 @@ getMainWindowSync(): Window ...@@ -5998,9 +6002,11 @@ getMainWindowSync(): Window
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility {
// ...
class myAbility extends Ability {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate'); console.log('onWindowStageCreate');
try { try {
...@@ -6041,9 +6047,11 @@ createSubWindow(name: string, callback: AsyncCallback&lt;Window&gt;): void ...@@ -6041,9 +6047,11 @@ createSubWindow(name: string, callback: AsyncCallback&lt;Window&gt;): void
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility {
// ...
class myAbility extends Ability {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate'); console.log('onWindowStageCreate');
let windowClass = null; let windowClass = null;
...@@ -6097,9 +6105,11 @@ createSubWindow(name: string): Promise&lt;Window&gt; ...@@ -6097,9 +6105,11 @@ createSubWindow(name: string): Promise&lt;Window&gt;
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility {
// ...
class myAbility extends Ability {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate'); console.log('onWindowStageCreate');
let windowClass = null; let windowClass = null;
...@@ -6145,9 +6155,11 @@ getSubWindow(callback: AsyncCallback&lt;Array&lt;Window&gt;&gt;): void ...@@ -6145,9 +6155,11 @@ getSubWindow(callback: AsyncCallback&lt;Array&lt;Window&gt;&gt;): void
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility {
// ...
class myAbility extends Ability {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate'); console.log('onWindowStageCreate');
let windowClass = null; let windowClass = null;
...@@ -6189,9 +6201,11 @@ getSubWindow(): Promise&lt;Array&lt;Window&gt;&gt; ...@@ -6189,9 +6201,11 @@ getSubWindow(): Promise&lt;Array&lt;Window&gt;&gt;
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility {
// ...
class myAbility extends Ability {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate'); console.log('onWindowStageCreate');
let windowClass = null; let windowClass = null;
...@@ -6235,9 +6249,11 @@ loadContent(path: string, storage: LocalStorage, callback: AsyncCallback&lt;void ...@@ -6235,9 +6249,11 @@ loadContent(path: string, storage: LocalStorage, callback: AsyncCallback&lt;void
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility {
// ...
class myAbility extends Ability {
storage : LocalStorage storage : LocalStorage
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
this.storage = new LocalStorage(); this.storage = new LocalStorage();
...@@ -6293,9 +6309,11 @@ loadContent(path: string, storage?: LocalStorage): Promise&lt;void&gt; ...@@ -6293,9 +6309,11 @@ loadContent(path: string, storage?: LocalStorage): Promise&lt;void&gt;
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility {
// ...
class myAbility extends Ability {
storage : LocalStorage storage : LocalStorage
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
this.storage = new LocalStorage(); this.storage = new LocalStorage();
...@@ -6344,9 +6362,11 @@ loadContent(path: string, callback: AsyncCallback&lt;void&gt;): void ...@@ -6344,9 +6362,11 @@ loadContent(path: string, callback: AsyncCallback&lt;void&gt;): void
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility {
// ...
class myAbility extends Ability {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate'); console.log('onWindowStageCreate');
try { try {
...@@ -6393,9 +6413,11 @@ on(eventType: 'windowStageEvent', callback: Callback&lt;WindowStageEventType&gt; ...@@ -6393,9 +6413,11 @@ on(eventType: 'windowStageEvent', callback: Callback&lt;WindowStageEventType&gt;
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility {
// ...
class myAbility extends Ability {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate'); console.log('onWindowStageCreate');
try { try {
...@@ -6440,9 +6462,11 @@ off(eventType: 'windowStageEvent', callback?: Callback&lt;WindowStageEventType&g ...@@ -6440,9 +6462,11 @@ off(eventType: 'windowStageEvent', callback?: Callback&lt;WindowStageEventType&g
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility {
// ...
class myAbility extends Ability {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate'); console.log('onWindowStageCreate');
try { try {
...@@ -6479,9 +6503,11 @@ disableWindowDecor(): void ...@@ -6479,9 +6503,11 @@ disableWindowDecor(): void
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility {
// ...
class myAbility extends Ability {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
console.log('disableWindowDecor'); console.log('disableWindowDecor');
windowStage.disableWindowDecor(); windowStage.disableWindowDecor();
...@@ -6519,9 +6545,11 @@ setShowOnLockScreen(showOnLockScreen: boolean): void ...@@ -6519,9 +6545,11 @@ setShowOnLockScreen(showOnLockScreen: boolean): void
**示例:** **示例:**
```ts ```ts
import Ability from '@ohos.application.Ability'; import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility {
// ...
class myAbility extends Ability {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate'); console.log('onWindowStageCreate');
try { try {
......
...@@ -34,149 +34,6 @@ ...@@ -34,149 +34,6 @@
## 开发步骤 ## 开发步骤
### 基于FA模型
基于FA的Service Ability使用,参考[ServiceAbility开发指导](../application-models/serviceability-overview.md)
当不需要与后台执行的长时任务交互时,可以采用startAbility()方法启动Service Ability。并在Service Ability的onStart回调方法中,调用长时任务的申请接口,声明此服务需要在后台长时运行。当任务执行完,再调用长时任务取消接口,及时释放资源。
当需要与后台执行的长时任务交互时(如播放音乐等)。可以采用connectAbility()方法启动并连接Service Ability。在获取到服务的代理对象后,与服务进行通信,控制长时任务的申请和取消。
1、新建Api Version 8的工程后,在工程目录中右键选择“new” -> “Ability” -> “Service Ability” 快速创建Service Ability组件。并在config.json文件中配置长时任务权限ohos.permission.KEEP_BACKGROUND_RUNNING、后台模式类型,其中Ability类型为“service”。
```
"module": {
"package": "com.example.myapplication",
"abilities": [
{
"backgroundModes": [
"dataTransfer",
"location"
], // 后台模式类型
"type": "service" // ability类型为service
}
],
"reqPermissions": [
{
"name": "ohos.permission.KEEP_BACKGROUND_RUNNING" // 长时任务权限
}
]
}
```
2、在Service Ability调用长时任务的申请和取消接口。
```js
import backgroundTaskManager from '@ohos.resourceschedule.backgroundTaskManager';
import featureAbility from '@ohos.ability.featureAbility';
import wantAgent from '@ohos.wantAgent';
import rpc from "@ohos.rpc";
function startContinuousTask() {
let wantAgentInfo = {
// 点击通知后,将要执行的动作列表
wants: [
{
bundleName: "com.example.myapplication",
abilityName: "com.example.myapplication.MainAbility"
}
],
// 点击通知后,动作类型
operationType: wantAgent.OperationType.START_ABILITY,
// 使用者自定义的一个私有值
requestCode: 0,
// 点击通知后,动作执行属性
wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
};
// 通过wantAgent模块的getWantAgent方法获取WantAgent对象
wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
try {
backgroundTaskManager.startBackgroundRunning(featureAbility.getContext(),
backgroundTaskManager.BackgroundMode.DATA_TRANSFER, wantAgentObj).then(() => {
console.info("Operation startBackgroundRunning succeeded");
}).catch((err) => {
console.error("Operation startBackgroundRunning failed Cause: " + err);
});
} catch (error) {
console.error(`Operation startBackgroundRunning failed. code is ${error.code} message is ${error.message}`);
}
});
}
function stopContinuousTask() {
try {
backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext()).then(() => {
console.info("Operation stopBackgroundRunning succeeded");
}).catch((err) => {
console.error("Operation stopBackgroundRunning failed Cause: " + err);
});
} catch (error) {
console.error(`Operation stopBackgroundRunning failed. code is ${error.code} message is ${error.message}`);
}
}
async function processAsyncJobs() {
// 此处执行具体的长时任务。
// 长时任务执行完,调用取消接口,释放资源。
stopContinuousTask();
}
let mMyStub;
class MyStub extends rpc.RemoteObject {
constructor(des) {
if (typeof des === 'string') {
super(des);
} else {
return null;
}
}
onRemoteRequest(code, data, reply, option) {
console.log('ServiceAbility onRemoteRequest called');
// code 的具体含义用户自定义
if (code === 1) {
// 接收到申请长时任务的请求码
startContinuousTask();
// 此处执行具体长时任务
} else if (code === 2) {
// 接收到取消长时任务的请求码
stopContinuousTask();
} else {
console.log('ServiceAbility unknown request code');
}
return true;
}
}
export default {
onStart(want) {
console.info('ServiceAbility onStart');
mMyStub = new MyStub("ServiceAbility-test");
// 在执行后台长时任前,调用申请接口。
startContinuousTask();
processAsyncJobs();
},
onStop() {
console.info('ServiceAbility onStop');
},
onConnect(want) {
console.info('ServiceAbility onConnect');
return mMyStub;
},
onReconnect(want) {
console.info('ServiceAbility onReconnect');
},
onDisconnect() {
console.info('ServiceAbility onDisconnect');
},
onCommand(want, restart, startId) {
console.info('ServiceAbility onCommand');
}
};
```
### 基于Stage模型 ### 基于Stage模型
Stage模型的相关信息参考[Stage模型开发概述](../application-models/stage-model-development-overview.md) Stage模型的相关信息参考[Stage模型开发概述](../application-models/stage-model-development-overview.md)
...@@ -293,11 +150,11 @@ struct Index { ...@@ -293,11 +150,11 @@ struct Index {
3、当需要跨设备或者跨应用在后台执行长时任务时,可以通过Call的方式在后台创建并运行Ability。使用方式参考[Call调用开发指南(同设备)](../application-models/uiability-intra-device-interaction.md#通过call调用实现uiability交互仅对系统应用开放)[Call调用开发指南(跨设备)](../application-models/hop-multi-device-collaboration.md#通过跨设备call调用实现多端协同) 3、当需要跨设备或者跨应用在后台执行长时任务时,可以通过Call的方式在后台创建并运行Ability。使用方式参考[Call调用开发指南(同设备)](../application-models/uiability-intra-device-interaction.md#通过call调用实现uiability交互仅对系统应用开放)[Call调用开发指南(跨设备)](../application-models/hop-multi-device-collaboration.md#通过跨设备call调用实现多端协同)
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import backgroundTaskManager from '@ohos.resourceschedule.backgroundTaskManager'; import backgroundTaskManager from '@ohos.resourceschedule.backgroundTaskManager';
import wantAgent from '@ohos.wantAgent'; import wantAgent from '@ohos.wantAgent';
const MSG_SEND_METHOD: string = 'CallSendMsg' const MSG_SEND_METHOD: string = 'CallSendMsg';
let mContext = null; let mContext = null;
...@@ -381,7 +238,7 @@ function sendMsgCallback(data) { ...@@ -381,7 +238,7 @@ function sendMsgCallback(data) {
return new MySequenceable(10, "Callee test"); return new MySequenceable(10, "Callee test");
} }
export default class BgTaskAbility extends Ability { export default class BgTaskAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
console.info("[Demo] BgTaskAbility onCreate") console.info("[Demo] BgTaskAbility onCreate")
this.callee.on("test", sendMsgCallback); this.callee.on("test", sendMsgCallback);
...@@ -422,6 +279,149 @@ export default class BgTaskAbility extends Ability { ...@@ -422,6 +279,149 @@ export default class BgTaskAbility extends Ability {
}; };
``` ```
### 基于FA模型
基于FA的Service Ability使用,参考[ServiceAbility开发指导](../application-models/serviceability-overview.md)
当不需要与后台执行的长时任务交互时,可以采用startAbility()方法启动Service Ability。并在Service Ability的onStart回调方法中,调用长时任务的申请接口,声明此服务需要在后台长时运行。当任务执行完,再调用长时任务取消接口,及时释放资源。
当需要与后台执行的长时任务交互时(如播放音乐等)。可以采用connectAbility()方法启动并连接Service Ability。在获取到服务的代理对象后,与服务进行通信,控制长时任务的申请和取消。
1、新建Api Version 8的工程后,在工程目录中右键选择“new” -> “Ability” -> “Service Ability” 快速创建Service Ability组件。并在config.json文件中配置长时任务权限ohos.permission.KEEP_BACKGROUND_RUNNING、后台模式类型,其中Ability类型为“service”。
```json
"module": {
"package": "com.example.myapplication",
"abilities": [
{
"backgroundModes": [
"dataTransfer",
"location"
], // 后台模式类型
"type": "service" // ability类型为service
}
],
"reqPermissions": [
{
"name": "ohos.permission.KEEP_BACKGROUND_RUNNING" // 长时任务权限
}
]
}
```
2、在Service Ability调用长时任务的申请和取消接口。
```js
import backgroundTaskManager from '@ohos.resourceschedule.backgroundTaskManager';
import featureAbility from '@ohos.ability.featureAbility';
import wantAgent from '@ohos.wantAgent';
import rpc from "@ohos.rpc";
function startContinuousTask() {
let wantAgentInfo = {
// 点击通知后,将要执行的动作列表
wants: [
{
bundleName: "com.example.myapplication",
abilityName: "com.example.myapplication.MainAbility"
}
],
// 点击通知后,动作类型
operationType: wantAgent.OperationType.START_ABILITY,
// 使用者自定义的一个私有值
requestCode: 0,
// 点击通知后,动作执行属性
wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
};
// 通过wantAgent模块的getWantAgent方法获取WantAgent对象
wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
try {
backgroundTaskManager.startBackgroundRunning(featureAbility.getContext(),
backgroundTaskManager.BackgroundMode.DATA_TRANSFER, wantAgentObj).then(() => {
console.info("Operation startBackgroundRunning succeeded");
}).catch((err) => {
console.error("Operation startBackgroundRunning failed Cause: " + err);
});
} catch (error) {
console.error(`Operation startBackgroundRunning failed. code is ${error.code} message is ${error.message}`);
}
});
}
function stopContinuousTask() {
try {
backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext()).then(() => {
console.info("Operation stopBackgroundRunning succeeded");
}).catch((err) => {
console.error("Operation stopBackgroundRunning failed Cause: " + err);
});
} catch (error) {
console.error(`Operation stopBackgroundRunning failed. code is ${error.code} message is ${error.message}`);
}
}
async function processAsyncJobs() {
// 此处执行具体的长时任务。
// 长时任务执行完,调用取消接口,释放资源。
stopContinuousTask();
}
let mMyStub;
class MyStub extends rpc.RemoteObject {
constructor(des) {
if (typeof des === 'string') {
super(des);
} else {
return null;
}
}
onRemoteRequest(code, data, reply, option) {
console.log('ServiceAbility onRemoteRequest called');
// code 的具体含义用户自定义
if (code === 1) {
// 接收到申请长时任务的请求码
startContinuousTask();
// 此处执行具体长时任务
} else if (code === 2) {
// 接收到取消长时任务的请求码
stopContinuousTask();
} else {
console.log('ServiceAbility unknown request code');
}
return true;
}
}
export default {
onStart(want) {
console.info('ServiceAbility onStart');
mMyStub = new MyStub("ServiceAbility-test");
// 在执行后台长时任前,调用申请接口。
startContinuousTask();
processAsyncJobs();
},
onStop() {
console.info('ServiceAbility onStop');
},
onConnect(want) {
console.info('ServiceAbility onConnect');
return mMyStub;
},
onReconnect(want) {
console.info('ServiceAbility onReconnect');
},
onDisconnect() {
console.info('ServiceAbility onDisconnect');
},
onCommand(want, restart, startId) {
console.info('ServiceAbility onCommand');
}
};
```
## 相关实例 ## 相关实例
基于后台任务管理,有以下相关实例可供参考: 基于后台任务管理,有以下相关实例可供参考:
......
...@@ -66,9 +66,9 @@ ...@@ -66,9 +66,9 @@
通过`loadContent`接口加载主窗口的目标页面。 通过`loadContent`接口加载主窗口的目标页面。
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
// 1.获取应用主窗口。 // 1.获取应用主窗口。
let windowClass = null; let windowClass = null;
...@@ -122,11 +122,11 @@ class MainAbility extends Ability { ...@@ -122,11 +122,11 @@ class MainAbility extends Ability {
当不再需要某些子窗口时,可根据具体实现逻辑,使用`destroyWindow`接口销毁子窗口。 当不再需要某些子窗口时,可根据具体实现逻辑,使用`destroyWindow`接口销毁子窗口。
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
let windowStage_ = null; let windowStage_ = null;
let sub_windowClass = null; let sub_windowClass = null;
class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
showSubWindow() { showSubWindow() {
// 1.创建应用子窗口。 // 1.创建应用子窗口。
windowStage_.createSubWindow("mySubWindow", (err, data) => { windowStage_.createSubWindow("mySubWindow", (err, data) => {
...@@ -213,9 +213,9 @@ class MainAbility extends Ability { ...@@ -213,9 +213,9 @@ class MainAbility extends Ability {
通过`loadContent`接口加载沉浸式窗口的具体内容。 通过`loadContent`接口加载沉浸式窗口的具体内容。
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
// 1.获取应用主窗口。 // 1.获取应用主窗口。
let windowClass = null; let windowClass = null;
...@@ -319,11 +319,11 @@ class MainAbility extends Ability { ...@@ -319,11 +319,11 @@ class MainAbility extends Ability {
当不再需要悬浮窗时,可根据具体实现逻辑,使用`destroyWindow`接口销毁悬浮窗。 当不再需要悬浮窗时,可根据具体实现逻辑,使用`destroyWindow`接口销毁悬浮窗。
```ts ```ts
import Ability from '@ohos.application.Ability' import UIAbility from '@ohos.app.ability.UIAbility';
import ExtensionContext from '@ohos.application.ServiceExtensionAbility'; import ExtensionContext from '@ohos.application.ServiceExtensionAbility';
import window from '@ohos.window'; import window from '@ohos.window';
class MainAbility extends Ability { export default class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) { onWindowStageCreate(windowStage) {
// 2. 创建悬浮窗。 // 2. 创建悬浮窗。
let windowClass = null; let windowClass = null;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册