App-Android(使用App+htnl5框架,解决消息推送兼容SignalR问题)
loulijun2021
2022-09-18 e5d34f5c51e4a852e67d24709ec7e7b708846066
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="HandheldFriendly" content="true">
<meta name="MobileOptimized" content="320">
<title>Navigator Document</title>
<link rel="stylesheet" type="text/css" href="res/doc.css" charset="utf-8">
<link rel="stylesheet" type="text/css" href="res/prettify.sons.css" charset="utf-8">
<script type="text/javascript" src="res/doc.js" charset="utf-8"></script><script type="text/javascript" src="res/prettify.js" charset="utf-8"></script>
</head>
<body><div id="content" class="content">
<h1><a name="plus.navigator">navigator</a></h1>
<p>navigator用于管理浏览器运行环境信息</p>
<h2>方法:</h2>
<ul>
<li>
<a href="#plus.navigator.checkPermission">checkPermission</a>: 检查运行环境的权限</li>
<li>
<a href="#plus.navigator.closeSplashscreen">closeSplashscreen</a>: 关闭应用启动界面</li>
<li>
<a href="#plus.navigator.hasNotchInScreen">hasNotchInScreen</a>: 查询设备是否为刘海屏</li>
<li>
<a href="#plus.navigator.hasSplashscreen">hasSplashscreen</a>: 查询应用启动界面是否已关闭</li>
<li>
<a href="#plus.navigator.updateSplashscreen">updateSplashscreen</a>: 更新程序启动界面</li>
<li>
<a href="#plus.navigator.createShortcut">createShortcut</a>: 创建应用快捷方式</li>
<li>
<a href="#plus.navigator.hasShortcut">hasShortcut</a>: 查询是否存在应用快捷方式</li>
<li>
<a href="#plus.navigator.isBackground">isBackground</a>: 判断当前应用是否切换到后台</li>
<li>
<a href="#plus.navigator.isFullscreen">isFullscreen</a>: 判断应用当前是否全屏模式显示</li>
<li>
<a href="#plus.navigator.isLogs">isLogs</a>: 判断应用当前是否输出日志</li>
<li>
<a href="#plus.navigator.setFullscreen">setFullscreen</a>: 设置应用是否全屏显示</li>
<li>
<a href="#plus.navigator.setLogs">setLogs</a>: 设置应用是否输出日志</li>
<li>
<a href="#plus.navigator.setStatusBarBackground">setStatusBarBackground</a>: 设置系统状态栏背景颜色</li>
<li>
<a href="#plus.navigator.getStatusBarBackground">getStatusBarBackground</a>: 获取系统状态栏背景颜色</li>
<li>
<a href="#plus.navigator.setStatusBarStyle">setStatusBarStyle</a>: 设置系统状态栏样式</li>
<li>
<a href="#plus.navigator.getStatusBarStyle">getStatusBarStyle</a>: 获取系统状态栏样式</li>
<li>
<a href="#plus.navigator.getStatusbarHeight">getStatusbarHeight</a>: 获取系统状态栏高度</li>
<li>
<a href="#plus.navigator.isImmersedStatusbar">isImmersedStatusbar</a>: 判断当前是否为沉浸式状态栏模式</li>
<li>
<a href="#plus.navigator.setUserAgent">setUserAgent</a>: 设置userAgent值</li>
<li>
<a href="#plus.navigator.getUserAgent">getUserAgent</a>: 获取userAgent值</li>
<li>
<a href="#plus.navigator.setCookie">setCookie</a>: 设置Cookie值</li>
<li>
<a href="#plus.navigator.getCookie">getCookie</a>: 获取Cookie值</li>
<li>
<a href="#plus.navigator.removeAllCookie">removeAllCookie</a>: 删除应用所有Cookie值</li>
<li>
<a href="#plus.navigator.removeCookie">removeCookie</a>: 删除应用Cookie</li>
<li>
<a href="#plus.navigator.removeSessionCookie">removeSessionCookie</a>: 删除应用所有会话期Cookie值</li>
<li>
<a href="#plus.navigator.getSafeAreaInsets">getSafeAreaInsets</a>: 获取应用的安全区域</li>
<li>
<a href="#plus.navigator.getOrientation">getOrientation</a>: 获取应用的横竖屏状态</li>
<li>
<a href="#plus.navigator.hideSystemNavigation">hideSystemNavigation</a>: 隐藏系统虚拟按键(导航栏)</li>
</ul>
<h2>对象:</h2>
<ul>
<li>
<a href="#plus.navigator.ShortcutOptions">ShortcutOptions</a>: 创建应用快捷方式要设置的参数</li>
<li>
<a href="#plus.navigator.SplashscreenOptions">SplashscreenOptions</a>: 更新应用启动界面要设置的参数</li>
<li>
<a href="#plus.navigator.PermissionNames">PermissionNames</a>: 运行环境权限类型</li>
<li>
<a href="#plus.navigator.SafeAreaInsets">SafeAreaInsets</a>: JSON对象,安全区域信息对象</li>
</ul>
<h2>回调方法:</h2>
<ul>
<li>
<a href="#plus.navigator.ShortcutSuccessCallback">ShortcutSuccessCallback</a>: 创建桌面快捷方式成功的回调函数</li>
<li>
<a href="#plus.navigator.NavigatorErrorCallback">NavigatorErrorCallback</a>: 操作错误回调函数接口</li>
</ul>
<h2>权限:</h2>
<p>5+功能模块(permissions)</p>
<pre class="prettyprint linenums">
{
// ...
"permissions":{
    // ...
    "Navigator": {
        "description": "浏览器信息"
    }
}
}
            </pre>
<h1><a name="plus.navigator.ShortcutOptions">ShortcutOptions</a></h1>
<p>创建应用快捷方式要设置的参数</p>
<h2>属性:</h2>
<ul>
<li>name: <em>(<font class="type">String</font>
    类型
)</em>快捷方式名称<br><p>
    如果未设置则使用应用的名称,manifest.json中name属性值。
                        </p>
</li>
<li>icon: <em>(<font class="type">String</font>
    类型
)</em>快捷方式的图标<br><p>
    如果未设置则优先使用应用中指定的图标(manifest.json中icon节点下对应分辨率的图标),如未区配则使用应用的图标(仅在独立打包时),否则使用runtime提供的默认图标。
                        </p>
</li>
<li>toast: <em>(<font class="type">String</font>
    类型
)</em>创建快捷方式后的提示信息<br><p>
    快捷方式创建成功后显示,默认提示内容为“"XXXX"已创建桌面快捷方式”,其中"XXXX"为程序的名称,如果不需要提示则设置此值为空字符串。
                        </p>
</li>
<li>extra: <em>(<font class="type">JSON</font>
    类型
)</em>快捷方式的扩展参数<br><p>
    其中key和value值都必须是字符串类型。
                        </p>
</li>
<li>classname: <em>(<font class="type">String</font>
    类型
)</em>要启动Activity类名<br><p>
    通常情况下不需要指定此值,仅在5+SDK集成时自定义Activity才用到。
                        </p>
</li>
<li>force: <em>(<font class="type">Boolean</font>
    类型
)</em>是否需要强制创建快捷方式<br><p>
    true表示强制创建,false表示不强制创建,默认值为true。
    强制创建可能会导致在无法判断快捷方式是否存在的设备上重复创建,如果需要尽可能避免出现重复创建桌面快捷方式则应该设置force属性值为false。
                        </p>
</li>
</ul>
<h1><a name="plus.navigator.SplashscreenOptions">SplashscreenOptions</a></h1>
<p>更新应用启动界面要设置的参数</p>
<h2>属性:</h2>
<ul>
<li>image: <em>(<font class="type">String</font>
    类型
)</em>启动界面的图片路径<br><p>
    仅支持本地文件路径,图片必须为png格式。
                    </p>
</li>
<li>autoclose: <em>(<font class="type">Boolean</font>
    类型
)</em>是否自动关闭启动界面<br><p>
    true表示应用启动后自动关闭启动界面,false表示应用启动后不自动关闭启动界面,需要在应用调用plus.navigator.closeSplashscreen()方法关闭。
                    </p>
</li>
<li>autoclose_w2a: <em>(<font class="type">Boolean</font>
    类型
)</em>是否自动关闭启动界面(WAP2APP应用)<br><p>
    与autoclose属性值作用一致,仅在WAP2APP应用中有效。
    不推荐设置此值,如果未设置会自动使用autoclose属性值。
                    </p>
</li>
<li>delay: <em>(<font class="type">Number</font>
    类型
)</em>启动界面延时关闭时间<br><p>
    仅在设置为自动关闭启动界面时有效。
                    </p>
</li>
<li>delay_w2a: <em>(<font class="type">Number</font>
    类型
)</em>启动界面延时关闭时间(WAP2APP应用)<br><p>
    与delay属性值作用一致,仅在WAP2APP应用中有效。
    不推荐设置此值,如果未设置会自动使用delay属性值。
                    </p>
</li>
</ul>
<h1><a name="plus.navigator.PermissionNames">PermissionNames</a></h1>
<p>运行环境权限类型</p>
<h2>常量:</h2>
<ul>
<li>CAMERA: <em>(<font class="type">String</font>
    类型
)</em>访问摄像头权限<br><p>
    用于调用摄像头(plus.camera.*/plus.barcode.*)。
                        </p>
</li>
<li>CONTACTS: <em>(<font class="type">String</font>
    类型
)</em>访问系统联系人权限<br><p>
    用于访问(读、写)系统通讯录(plus.gallery.*)。
                        </p>
</li>
<li>GALLERY: <em>(<font class="type">String</font>
    类型
)</em>访问系统相册权限<br><p>
    用于访问(读、写)系统相册(plus.gallery.*)。
                        </p>
</li>
<li>LOCATION: <em>(<font class="type">String</font>
    类型
)</em>定位权限<br><p>
    用于获取当前用户位置信息(plus.geolocation.*)。 
                        </p>
</li>
<li>NOTIFITION: <em>(<font class="type">String</font>
    类型
)</em>消息通知权限<br><p>
    用于接收系统消息通知(plus.push.*)。 
                        </p>
</li>
<li>RECORD: <em>(<font class="type">String</font>
    类型
)</em>录音权限<br><p>
    用于进行本地录音操作(plus.audio.AudioRecorder)。 
                        </p>
</li>
<li>SHORTCUT: <em>(<font class="type">String</font>
    类型
)</em>创建桌面快捷方式权限<br><p>
    用于在系统桌面创建快捷方式图标(plus.navigator.createShortcut)。
                        </p>
</li>
</ul>
<h1><a name="plus.navigator.SafeAreaInsets">SafeAreaInsets</a></h1>
<p>JSON对象,安全区域信息对象</p>
<h2>说明:</h2>
<p class="des">
    通过getSafeAreaInsets方法返回的信息。
                </p>
<h2>属性:</h2>
<ul>
<li>bottom: <em>(<font class="type">Number</font>
    类型
)</em>应用底部安全区域偏移量<br><p>
    单位为逻辑像素(px), 如果应用已经配置底部安全区域则返回0。
                        </p>
</li>
<li>left: <em>(<font class="type">Number</font>
    类型
)</em>应用左侧安全区域偏移量<br><p>
    单位为逻辑像素(px), 如果应用已经配置左侧安全区域则返回0。
                        </p>
</li>
<li>right: <em>(<font class="type">Number</font>
    类型
)</em>应用右侧安全区域偏移量<br><p>
    单位为逻辑像素(px), 如果应用已经配置右侧安全区域则返回0。
                        </p>
</li>
<li>top: <em>(<font class="type">Number</font>
    类型
)</em>应用顶部安全区域偏移量<br><p>
    单位为逻辑像素(px), 如果应用已经配置顶部安全区域则返回0。
                        </p>
</li>
<li>deviceBottom: <em>(<font class="type">Number</font>
    类型
)</em>设备底部安全区域偏移量<br><p>
    单位为逻辑像素(px)。
                        </p>
</li>
<li>deviceLeft: <em>(<font class="type">Number</font>
    类型
)</em>设备左侧安全区域偏移量<br><p>
    单位为逻辑像素(px)。
                        </p>
</li>
<li>deviceRight: <em>(<font class="type">Number</font>
    类型
)</em>设备右侧安全区域偏移量<br><p>
    单位为逻辑像素(px)。
                        </p>
</li>
<li>deviceTop: <em>(<font class="type">Number</font>
    类型
)</em>设备顶部安全区域偏移量<br><p>
    单位为逻辑像素(px)。
                        </p>
</li>
</ul>
<h1><a name="plus.navigator.ShortcutSuccessCallback">ShortcutSuccessCallback</a></h1>
<p>创建桌面快捷方式成功的回调函数</p>
<pre class="prettyprint linenums">
void onSuccess(Event event){
    var result=event.result; // 快捷方式是否已经存在,调用plus.navigator.hasShortcut方法时有效
    var sure=event.sure; // 是否确定创建桌面快捷方式成功,调用plus.navigator.createShortcut方法时有效
}
                </pre>
<h2>参数:</h2>
<ul><li>event: 
        <em>(
            <font class="type">Event</font>
            )
            必选 </em>创建桌面快捷方式返回的数据<br>
    此对象包含以下属性值:
    event.result - 查询快捷方式是否存在的结果(plus.navigator.hasShortcut),可取值:
        existing",快捷方式已存在;
        "none",快捷方式不存在(支持创建);
        "unsupported",不支持创建桌面快捷方式;
        "unknown":不确定快捷方式是否存在。
    event.sure - 创建快捷方式的结果(plus.navigator.createShortcut),Boolean类型,可取值:
        true,表示在当前环境下确定快捷方式创建成功;
        false,表示不确定快捷方式是否已创建。
                        </li></ul>
<h2>返回值:</h2>
<font class="type">void</font>
            : 无<h1><a name="plus.navigator.NavigatorErrorCallback">NavigatorErrorCallback</a></h1>
<p>操作错误回调函数接口</p>
<pre class="prettyprint linenums">
function void onError(Exception error){
    // Error.
    var code = error.code; // 错误编码
    var message = error.message; // 错误描述信息
}
                </pre>
<h2>参数:</h2>
<ul><li>error: 
        <em>(
            <font class="type">Exception</font>
            )
            必选 </em>操作失败信息<br>
    可通过error.code(Number类型)获取错误编码;
    可通过error.message(String类型)获取错误描述信息。
                        </li></ul>
<h2>返回值:</h2>
<font class="type">void</font>
            : 无<br><br>
</div></body>
</html>