模块API

所有api方法均在Xky.Core.Script中,api文档随时增删,请留意查看。

返回值

所有api方法返回的结果都是Xky.Core.Model.Response对象

属性 值类型 说明
Result bool 是否执行成功,正常情况下对应Json属性中的errcode
Message string 正常情况下对应Json属性中的msg,也可能是网络错误等其他异常信息
Json Newtonsoft.Json.Linq.JObject 根据执行接口不同返回的不同Json对象

AdbShell

  • 用法: Device.ScriptEngine.AdbShell(string command)
  • 说明: 在设备上执行shell指令。
  • 参数:
参数 值类型 说明
command string shell命令

例子:

Device.ScriptEngine.AdbShell('ls sdcard');

返回结果:

{
  "errcode": 0,
  "result": "360        DCIM       Notifications Ringtones    hdtl       tencentmapsdk \n360Browser Download   Pictures      backup       iFlyIME    \n360Log     LockScreen Podcasts      backups      ip_android \nAlarms     Movies     QQBrowser     baidu        tbs        \nAndroid    Music      Qmap          crash_report tencent"
}

Toast

  • 用法: Device.ScriptEngine.Toast(string toast, int style = 2)
  • 说明: 在手机上的弹出提示信息
  • 参数:
参数 值类型 说明
toast string 提示的内容
style int 提示风格_可选项(可选1 2 3 4 5 6 )

例子:

device.ScriptEngine.Toast("提示内容");
device.ScriptEngine.Toast("提示内容1");

返回结果:

{
  "errcode": 0,
  "msg": "指令完成"
}

FindMe

  • 用法: Device.ScriptEngine.FindMe()
  • 说明: 查找当前设备
  • 参数:

例子:

device.ScriptEngine.FindMe();

返回结果:

{
  "errcode": 0,
  "msg": "指令完成"
}

WakeUp

  • 用法: Device.ScriptEngine.WakeUp()
  • 说明: 唤醒当前设备
  • 参数:

例子:

device.ScriptEngine.WakeUp();

返回结果:

{
  "errcode": 0,
  "msg": "唤醒成功"
}

LockScreen

  • 用法: Device.ScriptEngine.LockScreen()
  • 说明: 锁定屏幕
  • 参数:

例子:

device.ScriptEngine.LockScreen();

返回结果:

{
  "errcode": 0,
  "msg": "锁屏完毕"
}

InstallApkFromUrl

  • 用法: Device.ScriptEngine.InstallApkFromUrl(string url)
  • 说明: 从远程地址安装apk
  • 参数:
参数 值类型 说明
url string 完整的远程apk文件地址

例子:

device.ScriptEngine.InstallApkFromUrl("http://gdown.baidu.com/data/wisegame/a3e97fe7b40416b0/mojitianqi_7090202.apk");

返回结果:

{
  "errcode": 0,
  "msg": "apk安装成功"
}

RestartApp

  • 用法: Device.ScriptEngine.RestartApp(string package)
  • 说明: 重启app
  • 参数:
参数 值类型 说明
package string app包名

例子:

device.ScriptEngine.RestartApp("com.android.settings");

返回结果:

{
  "errcode": 0,
  "msg": "指令完成"
}

KillApp

  • 用法: Device.ScriptEngine.KillApp(string package)
  • 说明: 结束app
  • 参数:
参数 值类型 说明
package string app包名

例子:

device.ScriptEngine.KillApp("com.android.settings");

返回结果:

{
  "errcode": 0,
  "msg": "指令完成"
}

ClearApp

  • 用法: Device.ScriptEngine.ClearApp(string package)
  • 说明: 清空APP所有数据(重装)
  • 参数:
参数 值类型 说明
package string app包名

例子:

device.ScriptEngine.ClearApp("com.android.settings");

返回结果:

{
  "errcode": 0,
  "result": "Success\n"
}

FindAllUiObject

  • 用法: Device.ScriptEngine.FindAllUiObject()
  • 说明: 查找当前界面上的所有元素
  • 参数:

例子:

Response res = device.ScriptEngine.FindAllUiObject();
string activityName = res.Json["activity"].ToString();
Console.WriteLine("activity名称:" + activityName);
var nodes = res.Json["nodes"].ToList();
foreach (var node in nodes)
 {
   Console.WriteLine(node["className"].ToString());
   var subnodes = node["nodes"];
   if (subnodes != null)
    {
      Console.WriteLine("子元素:" + subnodes.Count());
    }
 }

返回结果:

{
  "activity": "com.android.settings/.Settings ",
  "errcode": 0,
  "nodes": [
    {
      "bounds": "{\"bottom\":0,\"empty\":true,\"left\":0,\"right\":0,\"top\":0}",
      "checkable": false,
      "checked": false,
      "className": "android.widget.LinearLayout",
      "clickable": false,
      "contentDesc": "",
      "enabled": true,
      "focusable": false,
      "focused": false,
      ...

FindUiObjects

  • 用法: Device.ScriptEngine.FindUiObjects(string name, JObject option)
  • 说明: 查找控件元素,控件元素名称或id可配合界面元素获取工具来获取。
  • 参数:
参数 值类型 说明
name string 查找条件,可以是字符串或者正则表达式
option JObject 可选参数:
regex  类型:bool  用途:是否启用正则模式;
timeout 类型:int 用途:动作超时时间。

例子:

Response res = device.ScriptEngine.FindUiObjects("电话", new Newtonsoft.Json.Linq.JObject() { ["regex"] = true, ["timeout"] = 1000 });
Console.WriteLine(res.Json["uiObjects"]);
if (res.Json["uiObjects"].Count() > 0)
{
  Console.WriteLine("成功找到元素");
  foreach (var obj in res.Json["uiObjects"])
  {
      Console.WriteLine("元素文本:" + obj["text"].ToString());
  }
   
 }

返回结果:

{
  "errcode": 0,
  "uiObjects": [
    {
      "bounds": "{\"bottom\":1340,\"empty\":false,\"left\":29,\"right\":155,\"top\":1203}",
      "checkable": false,
      "checked": false,
      "className": "android.widget.TextView",
      "clickable": true,
      "contentDesc": "电话",
      "enabled": true,
      "focusable": true,
      "focused": false,
      "index": 0,
      "longClickable": true,
      "nodes": [],
      "packageName": "com.cyanogenmod.trebuchet",
      "password": false,
      "resourceId": "",
      "scrollable": false,
      "selected": false,
      "text": "电话",
      "x": 0.12777777777777777,
      "y": 0.88263888888888886
    }
  ]
}

FindAndClick

  • 用法: Device.ScriptEngine.FindAndClick(string name, JObject option)
  • 说明: 查找界面元素并点击它,控件元素名称或id可配合界面元素获取工具来获取。
  • 参数:
参数 值类型 说明
name string 查找条件,可以是字符串或者正则表达式
option JObject 可选参数:
regex  类型:bool  用途:是否启用正则模式;
timeout 类型:int 用途:动作超时时间;
index  类型:int 用途:点击第几个元素。

例子:

device.ScriptEngine.FindAndClick("电话", new Newtonsoft.Json.Linq.JObject());
device.ScriptEngine.FindAndClick("电话", new Newtonsoft.Json.Linq.JObject() { ["regex"] = false, ["timeout"] = 1000, ["index"] = 0 });

返回结果:

{
  "errcode": 0,
  "msg": "点击完成"
}

FindAndInput

  • 用法: Device.ScriptEngine.FindAndInput(string name, string value, JObject option)
  • 说明: 查找某个控件并输入指定文本,控件元素名称或id可配合界面元素获取工具来获取。
  • 参数:
参数 值类型 说明
name string 查找条件,可以是字符串或者正则表达式
value string 要输入的内容
option JObject 可选参数:
regex  类型:bool  用途:是否启用正则模式;
timeout 类型:int 用途:动作超时时间;
index  类型:int 用途:指定第几个元素。

例子:

device.ScriptEngine.FindAndInput("com.android.messaging:id/recipient_text_view", "侠客云SDK", new Newtonsoft.Json.Linq.JObject());
device.ScriptEngine.FindAndInput("com.android.messaging:id/recipient_text_view", "侠客云SDK", new Newtonsoft.Json.Linq.JObject() { ["regex"] = false, ["timeout"] = 1000, ["index"] = 0 });

返回结果:

{
  "errcode": 0,
  "msg": "赋值完成"
}

Input

  • 用法: Device.ScriptEngine.Input(string text)
  • 说明: 通过输入法输入文本,能在任意有焦点的地方输入文本。
  • 参数:
参数 值类型 说明
text string 输入的内容

例子:

 device.ScriptEngine.Input("侠客云SDK");

返回结果:

{
  "errcode": 0
}

Click

  • 用法: Device.ScriptEngine.Click(double x, double y)
  • 说明: 点击某个位置,x y均为百分比取值范围是0-1,可配合界面元素获取工具获取坐标点。
  • 参数:
参数 值类型 说明
x double x坐标
y double y坐标

例子:

device.ScriptEngine.Click(0.5, 0.5);

返回结果:

{
  "errcode": 0,
  "msg": "点击完毕"
}

MouseDown

  • 用法: Device.ScriptEngine.MouseDown(double x, double y)
  • 说明: 按下某个位置,x y均为百分比取值范围是0-1,可配合界面元素获取工具获取坐标点。
  • 参数:
参数 值类型 说明
x double x坐标
y double y坐标

例子:

device.ScriptEngine.MouseDown(0.5, 0.5);

返回结果:

{
  "errcode": 0,
  "msg": "鼠标按下"
}

MouseUp

  • 用法: Device.ScriptEngine.MouseUp(double x, double y)
  • 说明: 释放某个位置,x y均为百分比取值范围是0-1,可配合界面元素获取工具获取坐标点。
  • 参数:
参数 值类型 说明
x double x坐标
y double y坐标

例子:

//长按屏幕中心2秒钟
device.ScriptEngine.MouseDown(0.5, 0.5);
Thread.Sleep(2000);
device.ScriptEngine.MouseUp(0.5, 0.5);

返回结果:

{
  "errcode": 0,
  "msg": "鼠标释放"
}

MouseDrag

  • 用法: Device.ScriptEngine.MouseDrag(double x, double y)
  • 说明: 拖动到某个位置,x y均为百分比取值范围是0-1,可配合界面元素获取工具获取坐标点。
  • 参数:
参数 值类型 说明
x double x坐标
y double y坐标

例子:

 //先按下
device.ScriptEngine.MouseDown(0.5, 0.5);
//再拖动到指定位置
device.ScriptEngine.MouseDrag(0.6, 0.6);
Thread.Sleep(2000);
//在指定位置释放
device.ScriptEngine.MouseUp(0.5, 0.5);

返回结果:

{
  "errcode": 0,
  "msg": ""
}

Swipe

  • 用法: Device.ScriptEngine.Swipe(double startx = 0.5, double starty = 0.8, double endx = 0.5, double endy = 0.2,double steps = 10)
  • 说明: 从(startx,starty)的位置滑动多少次到达(endx,endy)的位置,x y均为百分比取值范围是0-1,可配合界面元素获取工具获取坐标点。
  • 参数:
参数 值类型 说明
startx double 开始x坐标
starty double 开始y坐标
endx double 结束x坐标
endy double 结束y坐标
steps double 步骤数量 可选 (默认10) 这个值是决定这个滑动的速度,越大越慢

例子:

//向右滑动屏幕
device.ScriptEngine.Swipe(0.5, 0.5, 0.8, 0.5, 10);

返回结果:

{
  "errcode": 0,
  "msg": "滑动完成"
}

Wheel

  • 用法: Device.ScriptEngine.Wheel(double x, double y, int updown = 0, int leftright = 0)
  • 说明: 从坐标为(x,y)的位置开始滚动界面,x y均为百分比取值范围是0-1,可配合界面元素获取工具获取坐标点。
  • 参数:
参数 值类型 说明
x double x坐标
y double y坐标
updown int 垂直滚动量 可选,默认值0
leftright int 水平滚动量 可选,默认值0

例子:

//向下滚动
device.ScriptEngine.Wheel(0.5, 0.5, -10, 0);

返回结果:

{
  "errcode": 0,
  "msg": "鼠标滚动"
}

PressKey

  • 用法: Device.ScriptEngine.PressKey(int keycode)
  • 说明: 按下某个按键,更多请参考安卓按键对应keycode
  • 参数:
参数 值类型 说明
keycode int 按键代码 安卓按键代码参考

例子:

//按下home键
device.ScriptEngine.PressKey(3);

返回结果:

{
  "errcode": 0,
  "msg": "按键操作成功"
}

SendEditorAction

  • 用法: Device.ScriptEngine.SendEditorAction(int actioncode)
  • 说明: 执行输入法动作指令,参考安卓输入法动作代码
  • 参数:
参数 值类型 说明
actioncode int 动作编号 输入法动作参考

例子:

//输入法的发送按键
device.ScriptEngine.SendEditorAction(4);

返回结果:

{
  "errcode": 0,
  "msg": "输入法指令输入完毕"
}

Copy

  • 用法: Device.ScriptEngine.Copy()
  • 说明: 复制,将设备上选定内容复制到设备的剪贴板上,类似Windows下的ctrl+c
  • 参数:

例子:

device.ScriptEngine.Copy();

返回结果:

{
  "errcode": 0,
  "msg": "按键操作成功"
}

Paste

  • 用法: Device.ScriptEngine.Paste()
  • 说明: 粘贴,将设备上剪贴板中的内容粘贴出来,类似Windows下的ctrl+v。
  • 参数:

例子:

device.ScriptEngine.Paste();

返回结果:

{
  "errcode": 0,
  "msg": "按键操作成功"
}

Cut

  • 用法: Device.ScriptEngine.Cut()
  • 说明: 复制,将设备上选定内容剪切到设备的剪贴板上,类似Windows下的ctrl+x
  • 参数:

例子:

device.ScriptEngine.Cut();

返回结果:

{
  "errcode": 0,
  "msg": "按键操作成功"
}

SetClipboardText

  • 用法: Device.ScriptEngine.SetClipboardText(string value)
  • 说明: 设置设备上的剪贴板内容
  • 参数:
参数 值类型 说明
value string 要设置的剪贴板内容

例子:

device.ScriptEngine.SetClipboardText("www.xky.com");

返回结果:

{
  "errcode": 0,
  "msg": "剪贴板赋值完成"
}

GetClipboardText

  • 用法: Device.ScriptEngine.GetClipboardText()
  • 说明: 读取设备上的剪贴板内容
  • 参数:

例子:

Response res = device.ScriptEngine.GetClipboardText();
if (res.Json["value"] != null)
{
    Console.WriteLine("设备剪贴板内容:" + res.Json["value"].ToString());
}
else 
{
    Console.WriteLine("无法读取设备剪贴板:" + res.Message);
}

返回结果:

{
  "errcode": 0,
  "msg": "剪贴板读值完成",
  "value": "www.xky.com"
}

SetInputMethod

  • 用法: Device.ScriptEngine.SetInputMethod()
  • 说明: 将设备的输入法设置为X输入法
  • 参数:

例子:

device.ScriptEngine.SetInputMethod();

返回结果:

{
  "errcode": 0,
  "result": "Input method com.x.server/com.x.Ime.xime selected\n"
}

ShowInputMethod

  • 用法: Device.ScriptEngine.ShowInputMethod()
  • 说明: 显示输入法选择界面
  • 参数:

例子:

device.ScriptEngine.ShowInputMethod();

返回结果:

{
  "errcode": 0,
  "result": ""
}

WriteStringToFile

  • 用法: Device.ScriptEngine.WriteStringToFile(string path, string str)
  • 说明: 写入文本到设备上
  • 参数:
参数 值类型 说明
path string 文件完整路径
str string 要写入的字符串

例子:

device.ScriptEngine.WriteStringToFile("/sdcard/test.txt", "自定义文本内容");

返回结果:

{
  "errcode": 0,
  "msg": "写入完毕"
}

WriteBufferToFile

  • 用法: Device.ScriptEngine.WriteBufferToFile(string path, byte[] data)
  • 说明: 写入二进制到设备上
  • 参数:
参数 值类型 说明
path string 文件完整路径
data byte[] 要写入的二进制数组

例子:

//二进制可以是任何图片、视频、文本以及其他内容
device.ScriptEngine.WriteBufferToFile("/sdcard/test.txt", Encoding.UTF8.GetBytes("自定义文本内容"));

返回结果:

{
  "errcode": 0,
  "msg": "写入完毕"
}

ReadBufferFromFile

  • 用法: Device.ScriptEngine.ReadBufferFromFile(string path)
  • 说明: 从设备读取文件二进制数据
  • 参数:
参数 值类型 说明
path string 文件完整路径

例子:

Response res = device.ScriptEngine.ReadBufferFromFile("/sdcard/test.txt");
if (res.Json["buffer"] != null)
{
    JArray buffer = res.Json["buffer"] as JArray;
    //如果文件过大可能会分段读取
     for (int i = 0; i < buffer.Count; i++)
     {
          byte[] bs = (byte[])buffer[i];
          Console.WriteLine(Encoding.UTF8.GetString(bs));
      }
 }
 else
 {
       Console.WriteLine("文件读取失败:" + res.Message);
 }

返回结果:

{
  "errcode": "0",
  "buffer": [
    "6Ieq5a6a5LmJ5paH5pys5YaF5a65"
  ]
}

ReadDir

  • 用法: Device.ScriptEngine.ReadDir(string path)
  • 说明: 读取设备上指定目录中的目录和文件列表
  • 参数:
参数 值类型 说明
path string 目录完整路径

例子:

 Response res = device.ScriptEngine.ReadDir("/sdcard");
 if (res.Json["list"] != null)
 {
     foreach (var fileordir in res.Json["list"])
     {
           Console.WriteLine("名称:" + fileordir["name"] + " 是否是文件:" + fileordir["isFIle"] + " 是否是目录:" + fileordir["isDirectory"]);
     }
  }
  else
  {
      Console.WriteLine("目录读取失败:" + res.Message);
  }

返回结果:

{
  "errcode": 0,
  "list": [
    {
      "name": "Pictures",
      "size": 4096,
      "isFIle": false,
      "isDirectory": true,
      "isBlockDevice": false,
      "isCharacterDevice": false,
      "isSymbolicLink": false,
      "mtime": "2017-01-01T00:02:47Z",
      "mode": 16889
    },
    {
      "name": "Download",
      "size": 2,
      "isFIle": true,
      "isDirectory": false,
      "isBlockDevice": false,
      "isCharacterDevice": false,
      "isSymbolicLink": false,
      "mtime": "2018-04-18T02:11:28Z"
      ...

CreateHardware

  • 用法: Device.ScriptEngine.CreateHardware()
  • 说明: 创建一个新的硬件全息(仅支持云机)
  • 参数:

例子:

device.ScriptEngine.CreateHardware();

返回结果:

{
  "errcode": 0,
  "model": "Nexus 6",
  "key": "0000000" //返回值 key 请自行记录,这个表示当前全息信息的唯一值(不变)
  
  }

RestoreHardware

  • 用法: Device.ScriptEngine.RestoreHardware(string key)
  • 说明: 还原指定的硬件全息信息
  • 参数:
参数 值类型 说明
key string createHardware方法返回的key

例子:

device.ScriptEngine.RestoreHardware("00000");

返回结果:

{
  "errcode": 0,
  "model": "Nexus 6",
  "key": "0000000" 
  
  }

GetHardwareKey

  • 用法: Device.ScriptEngine.GetHardwareKey()
  • 说明: 获取当前设备的硬件全息key
  • 参数:

例子:

device.ScriptEngine.GetHardwareKey()

返回结果:

{
  "errcode": 0,
  "key": "c009047c"
}

GetCurrentAppSnapshot

  • 用法: Device.ScriptEngine.GetCurrentAppSnapshot(string packagename)
  • 说明: 获取指定APP的全息快照插槽信息
  • 参数:
参数 值类型 说明
packagename string app包名

例子:

device.ScriptEngine.GetCurrentAppSnapshot("第三方应用包名");

返回结果:

{
  "errcode": 0,
  "name": "快照名称",
  "hardware": "00000000"//当前快照绑定的硬件全息信息
}

CreateAppSnapshot

  • 用法: Device.ScriptEngine.CreateAppSnapshot(string packageName, string name, string basepath = null)
  • 说明: 创建指定app的全息快照插槽
  • 参数:
参数 值类型 说明
packageName string app包名
name string 快照名称

例子:

device.ScriptEngine.CreateAppSnapshot("第三方应用包名", "快照名称");

返回结果:

{
  "errcode": 0,
  "msg": "快照创建成功",
  "path": "快照名称"//快照名称请自行记录和保存
}

SetAppSnapshot

  • 用法: Device.ScriptEngine.SetAppSnapshot(string packageName, string name, string basepath = null)
  • 说明: 切换全息快照插槽
  • 参数:
参数 值类型 说明
packageName string app包名
name string 快照名称

例子:

device.ScriptEngine.SetAppSnapshot("第三方应用包名", "创建过的快照名称");

返回结果:

{
  "errcode": 0,
  "msg": "快照切换成功",
  "path": "快照名称"
}

DelAppSnapshot

  • 用法: Device.ScriptEngine.DelAppSnapshot(string packageName, string name, string basepath = null)
  • 说明: 删除指定的全息快照插槽
  • 参数:
参数 值类型 说明
packageName string app包名
name string 快照名称

例子:

device.ScriptEngine.DelAppSnapshot("第三方应用包名", "快照名称");

返回结果:

{
  "errcode": 0,
  "msg": "快照删除成功"
}

GetAppSnapshotList

  • 用法: Device.ScriptEngine.GetAppSnapshotList(string packageName, string basepath = null)
  • 说明: 获取全息快照插槽列表
  • 参数:
参数 值类型 说明
packageName string app包名

例子:

device.ScriptEngine.GetAppSnapshotList("第三方应用包名");

返回结果:

{
  "errcode": 0,
  "list": []
}

SetLocation

  • 用法: Device.ScriptEngine.SetLocation(string location)
  • 说明: 设置定位坐标
  • 参数:
参数 值类型 说明
location string 坐标,如:22.517631,114.071045

例子:

device.ScriptEngine.SetLocation("22.517631,114.071045");

返回结果:

{
  "errcode": 0
}

GetLocation

  • 用法: Device.ScriptEngine.GetLocation()
  • 说明: 读取设备的当前定位坐标
  • 参数:

例子:

device.ScriptEngine.GetLocation();

返回结果:

{
  "errcode": 0,
  "location": "22.517631,114.071045"
}

UpdateCameraFromUrl

  • 用法: Device.ScriptEngine.UpdateCameraFromUrl(string url)
  • 说明: 将一个远程图片更新到摄像头
  • 参数:
参数 值类型 说明
url string 远程图片文件url路径

例子:

device.ScriptEngine.UpdateCameraFromUrl("https://www.xky.com/static/main/img/prepare/bg_wechat.jpg");

返回结果:


UpdateCameraFromFile

  • 用法: Device.ScriptEngine.UpdateCameraFromFile(byte[] data)
  • 说明: 通过二进制图片数据更新摄像头内容
  • 参数:
参数 值类型 说明
data byte[] 图片二进制数组

例子:

device.ScriptEngine.UpdateCameraFromFile(File.ReadAllBytes(@"C:\Users\administrator\Downloads\bg_wechat.jpg"));

返回结果:


UpdateCameraFromText

  • 用法: Device.ScriptEngine.UpdateCameraFromText(string text)
  • 说明: 将文本内容保存为二维码并更新到摄像头
  • 参数:
参数 值类型 说明
text string 字符串

例子:

device.ScriptEngine.UpdateCameraFromText("www.xky.com");

返回结果:


GetContacts

  • 用法: Device.ScriptEngine.GetContacts()
  • 说明: 获取联系人列表
  • 参数:

例子:

Response res = device.ScriptEngine.GetContacts();
if (res.Json["contacts"] != null)
{
   foreach (var contact in res.Json["contacts"])
   {
      Console.WriteLine("姓名:" + contact["name"] + " 手机号:" + contact["number"]);
   }
 }
else
{
      Console.WriteLine("无法获取联系人列表");

 }

返回结果:

{
  "contacts": [
    {
      "name": "小明",
      "number": "10000000000"
    }
  ],
  "errcode": 0,
  "msg": "获取到1个联系人"
}

InsertContacts

  • 用法: Device.ScriptEngine.InsertContacts(JArray contacts)
  • 说明: 添加联系人列表
  • 参数:
参数 值类型 说明
contacts Newtonsoft.Json.Linq.JArray 联系人列表

例子:

 JObject job1 = new JObject { { "name", "小明" }, { "number", "10000000000" } };
 JObject job2 = new JObject { { "小红", "小明" }, { "number", "10000000001" } };
 JArray jArray = new JArray();
 jArray.Add(job1);
 jArray.Add(job2);
 device.ScriptEngine.InsertContacts(jArray);

返回结果:


ClearContacts

  • 用法: Device.ScriptEngine.ClearContacts()
  • 说明: 清空联系人
  • 参数:

例子:

device.ScriptEngine.ClearContacts();

返回结果:

{
  "errcode": 0,
  "msg": "清空联系人完毕"
}

InsertMedia

  • 用法: Device.ScriptEngine.InsertMedia(string path)
  • 说明: 将设备上的指定文件更新到媒体库
  • 参数:
参数 值类型 说明
path string 设备上的媒体文件完整路径

例子:

 device.ScriptEngine.InsertMedia("/sdcard/Pictures/test.jpg");

返回结果:

{
  "errcode": 0,
  "msg": "刷新媒体库完成"
}

ClearDcim

  • 用法: Device.ScriptEngine.ClearDcim(string path = "/sdcard/DCIM")
  • 说明: 清空指定的媒体库
  • 参数:
参数 值类型 说明
path string 媒体库路径(默认:/sdcard/DCIM)

例子:

device.ScriptEngine.ClearDcim();

返回结果:

{
  "errcode": 0,
  "msg": "媒体库清空完毕"
}

CallApi

  • 用法: Device.ScriptEngine.CallApi(string name, JObject option)
  • 说明: 调用第三方app内置接口或xposed接口
  • 参数:
参数 值类型 说明
name string 接口名称
name Newtonsoft.Json.Linq.JObject 自定义接口参数

例子:

device.ScriptEngine.CallApi("sendMsg", new JObject() { ["uid"] = "10000", ["msg"] = "你好" });

返回结果:


上次更新: 2019-5-31 17:52:53