Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
867e0729
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
867e0729
编写于
7月 18, 2023
作者:
O
openharmony_ci
提交者:
Gitee
7月 18, 2023
浏览文件
操作
浏览文件
下载
差异文件
!20995 bindDialogTarget接口示例代码更新
Merge pull request !20995 from ZhengJiangliang/3.2_release
上级
ee4bf8fa
d825c482
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
184 addition
and
0 deletion
+184
-0
zh-cn/application-dev/reference/apis/js-apis-window.md
zh-cn/application-dev/reference/apis/js-apis-window.md
+184
-0
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-window.md
浏览文件 @
867e0729
...
...
@@ -2788,7 +2788,16 @@ class TestRemoteObject extends rpc.RemoteObject {
}
let
token
=
new
TestRemoteObject
(
'
testObject
'
);
let
windowClass
=
null
;
let
config
=
{
name
:
"
dialogWindow
"
,
windowType
:
window
.
WindowType
.
TYPE_DIALOG
,
ctx
:
this
.
context
};
try
{
window
.
createWindow
(
config
,
(
err
,
data
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to create the window. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
windowClass
=
data
;
});
windowClass
.
bindDialogTarget
(
token
,
()
=>
{
console
.
info
(
'
Dialog Window Need Destroy.
'
);
},
(
err
)
=>
{
...
...
@@ -2861,7 +2870,16 @@ class TestRemoteObject extends rpc.RemoteObject {
}
let
token
=
new
TestRemoteObject
(
'
testObject
'
);
let
windowClass
=
null
;
let
config
=
{
name
:
"
dialogWindow
"
,
windowType
:
window
.
WindowType
.
TYPE_DIALOG
,
ctx
:
this
.
context
};
try
{
window
.
createWindow
(
config
,
(
err
,
data
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to create the window. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
windowClass
=
data
;
});
let
promise
=
windowClass
.
bindDialogTarget
(
token
,
()
=>
{
console
.
info
(
'
Dialog Window Need Destroy.
'
);
});
...
...
@@ -2875,6 +2893,172 @@ try {
}
```
### bindDialogTarget<sup>9+</sup>
bindDialogTarget(requestInfo: dialogRequest.RequestInfo, deathCallback: Callback
<
void
>
, callback: AsyncCallback
<
void
>
): void
绑定模态窗口与目标窗口并添加模态窗口销毁监听,使用callback异步回调。
**系统接口:**
此接口为系统接口。
**系统能力:**
SystemCapability.WindowManager.WindowManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------------------------- | ---- | -------------------- |
| requestInfo |
[
dialogRequest.RequestInfo
](
js-apis-app-ability-dialogRequest.md#requestinfo
)
| 是 | 目标窗口RequestInfo值。 |
| deathCallback | Callback
<
void
>
| 是 | 模态窗口销毁监听。 |
| callback | AsyncCallback
<
void
>
| 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见
[
窗口错误码
](
../errorcodes/errorcode-window.md
)
。
| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal. |
| 1300003 | This window manager service works abnormally. |
**示例:**
```
js
import
ServiceExtensionAbility
from
'
@ohos.app.ability.ServiceExtensionAbility
'
;
import
rpc
from
'
@ohos.rpc
'
;
import
dialogRequest
from
'
@ohos.app.ability.dialogRequest
'
;
import
window
from
'
@ohos.window
'
;
export
default
class
ServiceExtAbility
extends
ServiceExtensionAbility
{
onCreate
(
want
)
{
console
.
info
(
'
onCreate
'
);
}
onRequest
(
want
,
startId
)
{
console
.
info
(
'
onRequest
'
);
let
windowClass
=
null
;
let
config
=
{
name
:
"
dialogWindow
"
,
windowType
:
window
.
WindowType
.
TYPE_DIALOG
,
ctx
:
this
.
context
};
try
{
window
.
createWindow
(
config
,
(
err
,
data
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to create the window. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
windowClass
=
data
;
});
let
requestInfo
=
dialogRequest
.
getRequestInfo
(
want
)
windowClass
.
bindDialogTarget
(
requestInfo
,
()
=>
{
console
.
info
(
'
Dialog Window Need Destroy.
'
);
},
(
err
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to bind dialog target. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in binding dialog target.
'
);
});
}
catch
(
err
)
{
console
.
error
(
'
Failed to bind dialog target. Cause:
'
+
JSON
.
stringify
(
err
))
}
}
onConnect
(
want
)
{
console
.
info
(
'
onConnect
'
);
}
onDisconnect
(
want
)
{
console
.
info
(
'
onDisconnect
'
);
}
onDestroy
()
{
console
.
info
(
'
onDestroy
'
);
}
}
```
### bindDialogTarget<sup>9+</sup>
bindDialogTarget(requestInfo: dialogRequest.RequestInfo, deathCallback: Callback
<
void
>
): Promise
<
void
>
绑定模态窗口与目标窗口并添加模态窗口销毁监听,使用Promise异步回调。
**系统接口:**
此接口为系统接口。
**系统能力:**
SystemCapability.WindowManager.WindowManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------------------------- | ---- | -------------------- |
| requestInfo |
[
dialogRequest.RequestInfo
](
js-apis-app-ability-dialogRequest.md#requestinfo
)
| 是 | 目标窗口RequestInfo值。 |
| deathCallback | Callback
<
void
>
| 是 | 模态窗口销毁监听。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ------------------------- |
| Promise
<
void
>
| 无返回结果的Promise对象。 |
**错误码:**
以下错误码的详细介绍请参见
[
窗口错误码
](
../errorcodes/errorcode-window.md
)
。
| 错误码ID | 错误信息 |
| ------- | -------------------------------------------- |
| 1300002 | This window state is abnormal. |
| 1300003 | This window manager service works abnormally. |
**示例:**
```
js
import
ServiceExtensionAbility
from
'
@ohos.app.ability.ServiceExtensionAbility
'
;
import
rpc
from
'
@ohos.rpc
'
;
import
dialogRequest
from
'
@ohos.app.ability.dialogRequest
'
;
import
window
from
'
@ohos.window
'
;
export
default
class
ServiceExtAbility
extends
ServiceExtensionAbility
{
onCreate
(
want
)
{
console
.
info
(
'
onCreate
'
);
}
onRequest
(
want
,
startId
)
{
console
.
info
(
'
onRequest
'
);
let
windowClass
=
null
;
let
config
=
{
name
:
"
dialogWindow
"
,
windowType
:
window
.
WindowType
.
TYPE_DIALOG
,
ctx
:
this
.
context
};
try
{
window
.
createWindow
(
config
,
(
err
,
data
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to create the window. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
windowClass
=
data
;
});
let
requestInfo
=
dialogRequest
.
getRequestInfo
(
want
)
let
promise
=
windowClass
.
bindDialogTarget
(
requestInfo
,
()
=>
{
console
.
info
(
'
Dialog Window Need Destroy.
'
);
});
promise
.
then
(()
=>
{
console
.
info
(
'
Succeeded in binding dialog target.
'
);
}).
catch
((
err
)
=>
{
console
.
error
(
'
Failed to bind dialog target. Cause:
'
+
JSON
.
stringify
(
err
));
});
}
catch
(
err
)
{
console
.
error
(
'
Failed to bind dialog target. Cause:
'
+
JSON
.
stringify
(
err
))
}
}
onConnect
(
want
)
{
console
.
info
(
'
onConnect
'
);
}
onDisconnect
(
want
)
{
console
.
info
(
'
onDisconnect
'
);
}
onDestroy
()
{
console
.
info
(
'
onDestroy
'
);
}
}
```
### isWindowSupportWideGamut<sup>9+</sup>
isWindowSupportWideGamut(callback: AsyncCallback
<
boolean
>
): void
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录