docs: events, automator

This commit is contained in:
hyb1996
2018-02-27 17:59:12 +08:00
parent ce515e58e0
commit 3de96662c6
7 changed files with 87 additions and 16 deletions

View File

@@ -86,6 +86,7 @@
<li><span class="stability_undefined"><a href="#app_app_uninstall_packagename">app.uninstall(packageName)</a></span></li>
<li><span class="stability_undefined"><a href="#app_app_openurl_url">app.openUrl(url)</a></span></li>
<li><span class="stability_undefined"><a href="#app_app_sendemail_options">app.sendEmail(options)</a></span></li>
<li><span class="stability_undefined"><a href="#app_app_startactivity_name">app.startActivity(name)</a></span></li>
</ul>
</li>
<li><span class="stability_undefined"><a href="#app_intent">进阶: 意图Intent</a></span><ul>
@@ -191,6 +192,16 @@ app.sendEmail({
subject: &quot;这是一个邮件标题&quot;,
text: &quot;这是邮件正文&quot;
});
</code></pre><h2>app.startActivity(name)<span><a class="mark" href="#app_app_startactivity_name" id="app_app_startactivity_name">#</a></span></h2>
<div class="signature"><ul>
<li><code>name</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 活动名称,可选的值为:<ul>
<li><code>console</code> 日志界面</li>
<li><code>settings</code> 设置界面</li>
</ul>
</li>
</ul>
</div><p>启动Auto.js的特定界面。该函数在Auto.js内运行则会打开Auto.js内的界面在打包应用中运行则会打开打包应用的相应界面。</p>
<pre><code>app.startActivity(&quot;console&quot;);
</code></pre><h1>进阶: 意图Intent<span><a class="mark" href="#app_intent" id="app_intent">#</a></span></h1>
<p>Intent(意图) 是一个消息传递对象,您可以使用它从其他应用组件请求操作。尽管 Intent 可以通过多种方式促进组件之间的通信,但其基本用例主要包括以下三个:</p>
<ul>

View File

@@ -83,6 +83,7 @@
<li><span class="stability_undefined"><a href="#events_events_oncekeyup_keyname_listener">events.onceKeyUp(keyName, listener)</a></span></li>
<li><span class="stability_undefined"><a href="#events_events_removeallkeydownlisteners_keyname">events.removeAllKeyDownListeners(keyName)</a></span></li>
<li><span class="stability_undefined"><a href="#events_events_removeallkeyuplisteners_keyname">events.removeAllKeyUpListeners(keyName)</a></span></li>
<li><span class="stability_undefined"><a href="#events_events_setkeyinterceptionenabled_key_enabled">events.setKeyInterceptionEnabled([key, ]enabled)</a></span></li>
<li><span class="stability_undefined"><a href="#events_events_observetouch">events.observeTouch()</a></span></li>
<li><span class="stability_undefined"><a href="#events_events_settoucheventtimeout_timeout">events.setTouchEventTimeout(timeout)</a></span></li>
<li><span class="stability_undefined"><a href="#events_events_gettoucheventtimeout">events.getTouchEventTimeout()</a></span></li>
@@ -219,6 +220,21 @@ events.onKeyDown(&quot;home&quot;, function(event){
<li><code>keyName</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 按键名称</li>
</ul>
</div><p>删除该按键的KeyUp(弹起)事件的所有监听。</p>
<h2>events.setKeyInterceptionEnabled([key, ]enabled)<span><a class="mark" href="#events_events_setkeyinterceptionenabled_key_enabled" id="events_events_setkeyinterceptionenabled_key_enabled">#</a></span></h2>
<div class="signature"><ul>
<li><code>enabled</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type">&lt;boolean&gt;</a></li>
<li><code>key</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 要屏蔽的按键</li>
</ul>
</div><p>设置按键屏蔽是否启用。所谓按键屏蔽指的是,屏蔽原有按键的功能,例如使得音量键不再能调节音量,但此时仍然能通过按键事件监听按键。</p>
<p>如果不加参数key则会屏蔽所有按键。</p>
<p>例如,调用<code>events.setKeyInterceptionEnabled(true)</code>会使系统的音量、Home、返回等键不再具有调节音量、回到主页、返回的作用但此时仍然能通过按键事件监听按键。</p>
<p>该函数通常于按键监听结合,例如想监听音量键并使音量键按下时不弹出音量调节框则为:</p>
<pre><code>events.setKeyInterceptionEnabled(&quot;volume_up&quot;, true);
events.observeKey();
events.onKeyDown(&quot;volume_up&quot;, ()=&gt;{
log(&quot;音量上键被按下&quot;);
});
</code></pre><p>只要有一个脚本屏蔽了某个按键,该按键便会被屏蔽;当脚本退出时,会自动解除所有按键屏蔽。</p>
<h2>events.observeTouch()<span><a class="mark" href="#events_events_observetouch" id="events_events_observetouch">#</a></span></h2>
<p>启用屏幕触摸监听。需要root权限</p>
<p>只有这个函数被成功执行后, 触摸事件的监听才有效。</p>

View File

@@ -118,8 +118,8 @@ http.get(&quot;www.baidu.com&quot;, {}, function(res, err){
console.error(err);
return;
}
log(&quot;code = &quot; + r.statusCode);
log(&quot;html = &quot; + r.body.string());
log(&quot;code = &quot; + res.statusCode);
log(&quot;html = &quot; + res.body.string());
});
</code></pre><p>如果要增加HTTP头部信息则在options参数中添加例如</p>
<pre><code>console.show();

View File

@@ -76,6 +76,8 @@
<ul>
<li><span class="stability_undefined"><a href="#widgets_based_automation">基于控件的操作</a></span><ul>
<li><span class="stability_undefined"><a href="#widgets_based_automation_auto_mode">auto([mode])</a></span></li>
<li><span class="stability_undefined"><a href="#widgets_based_automation_auto_waitfor">auto.waitFor()</a></span></li>
<li><span class="stability_undefined"><a href="#widgets_based_automation_auto_setmode_mode">auto.setMode(mode)</a></span></li>
</ul>
</li>
<li><span class="stability_2"><a href="#widgets_based_automation_simpleactionautomator">SimpleActionAutomator</a></span><ul>
@@ -213,11 +215,23 @@
<li><code>normal</code> 正常模式,默认。</li>
</ul>
<p>如果不加mode参数则为正常模式。</p>
<p>建议使用<code>auto.waitFor()</code><code>auto.setMode()</code>代替该函数,因为<code>auto()</code>函数如果无障碍服务未启动会停止脚本;而<code>auto.waitFor()</code>则会在在无障碍服务启动后继续运行。</p>
<p>示例:</p>
<pre><code>auto(&quot;fast&quot;);
</code></pre><p>示例2</p>
<pre><code>auto();
</code></pre><h1>SimpleActionAutomator<span><a class="mark" href="#widgets_based_automation_simpleactionautomator" id="widgets_based_automation_simpleactionautomator">#</a></span></h1>
</code></pre><h2>auto.waitFor()<span><a class="mark" href="#widgets_based_automation_auto_waitfor" id="widgets_based_automation_auto_waitfor">#</a></span></h2>
<p>检查无障碍服务是否已经启用,如果没有启用则跳转到无障碍服务启用界面,并等待无障碍服务启动;当无障碍服务启动后脚本会继续运行。</p>
<h2>auto.setMode(mode)<span><a class="mark" href="#widgets_based_automation_auto_setmode_mode" id="widgets_based_automation_auto_setmode_mode">#</a></span></h2>
<div class="signature"><ul>
<li><code>mode</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type">&lt;string&gt;</a> 模式</li>
</ul>
</div><p>设置无障碍模式为mode。mode的可选值为</p>
<ul>
<li><code>fast</code> 快速模式。该模式下会启用控件缓存,从而选择器获取屏幕控件更快。对于需要快速的控件查看和操作的脚本可以使用该模式,一般脚本则没有必要使用该函数。</li>
<li><code>normal</code> 正常模式,默认。</li>
</ul>
<h1>SimpleActionAutomator<span><a class="mark" href="#widgets_based_automation_simpleactionautomator" id="widgets_based_automation_simpleactionautomator">#</a></span></h1>
<div class="api_stability api_stability_2"><a href="documentation.html#documentation_stability_index">Stability: 2</a> - Stable</div><p>SimpleActionAutomator提供了一些模拟简单操作的函数例如点击文字、模拟按键等。这些函数可以直接作为全局函数使用。</p>
<h2>click(text[, i])<span><a class="mark" href="#widgets_based_automation_click_text_i" id="widgets_based_automation_click_text_i">#</a></span></h2>
<div class="signature"><ul>

View File

@@ -513,6 +513,11 @@
"url": "events.html#events_events_observekey",
"summary": "监听按键"
},
{
"key": "setKeyInterceptionEnabled",
"url": "events.html#events_events_setkeyinterceptionenabled_key_enabled",
"summary": "屏蔽按键"
},
{
"key": "observeTouch",
"url": "events.html#events_events_observetouch",