×

total control

hqy hqy 发表于2020-04-25 00:32:26 浏览2583 评论0

抢沙发发表评论

电脑可以控制手机吗?可以批量控制10台、20台甚至到100台手机吗?当然是可以的。不仅可以实现控制,我们还可以通过脚本实现自动操作,自动批量操作手机。我之前用Total Control实现了电脑自动打开关闭手机软件,后面我继续探索,发现他们的RestAPI 真的很神奇,有了它,还可以用脚本实现在多个手机上同时自动打开卸载手机上的软件。



要实现在多个手机上同时打开、关闭指定应用程序,首先我们得用电脑连接多个手机,用Total Control 提供的 JS API获取当前连接的所有设备的对象集合,然后对集合中的所有设备进行批量控制操作。
(一) Total Control 获取电脑连接的多个手机的对象集合的 JS API
1. Device.searchObject(sigmaConst.DevAll)
描述:获取当前连接的所有设备的对象集合;通过返回的设备对象集合可以对集合中的所有设备进行批量控制操作。
参数:DevAll: 常量值,sigmaConst.DevAll
返回值:设备对象,成功: 返回设备对象集合;失败返回null
2. Device.searchObject(sigmaConst.DevGroup, GroupName)
描述:根据给定的组名称获取组内所有设备的对象集合;通过返回的设备对象集合可以对集合中的所有设备进行批量控制操作。
参数:DevGroup: 常量值,sigmaConst.DevGroup;
GroupName: 字符串,组名称
返回值:设备对象,成功: 返回设备对象集合;失败返回null
3. Device.searchObjct(sigmaConst.DevSelectMult)
描述:运行脚本后,会弹出一个设备选择框,根据选择的多个设备进行设备对象集获取,通过返回的设备对象可以对该设备进行属性、控制操作。
参数:DevSelectMult: 常量值,sigmaConst.DevSelectMult
返回值:设备对象,成功: 返回设备对象集合;失败返回null
4. Device.searchObject(sigmaConst.DevSelectGroup)
描述:弹出一个设备组选择窗口,根据选择的一个设备组获取组内所有设备的对象集合;通过返回的设备对象集合可以对集合中的所有设备进行批量控制操作
参数:DevSelectGroup: 常量值,sigmaConst.DevSelectGroup
返回值:设备对象,成功: 返回设备对象集合;失败返回null
(二) JavaScript 实现在多个手机上同时自动打开软件
原型:runApp(packageName)
描述:通过 App 包名称启动 App。
参数:packageName: 字符串,运行 App 包名称,如: com.android.settings
返回值:整型,0: 成功;-1:app 未安装
实例:在多个手机上同时自动打开软件网易云音乐
JS代码如下:
//定义需要运行的App包名称
var runAppName = "com.netease.cloudmusic"
//获取当前电脑连接的所有设备对象集合
var devices = Device.searchObject(sigmaConst.DevAll);
//启动网易云音乐软件
var runapp=devices.runApp(runAppName);
if (runapp == 0){
print("成功打开电脑连接的所有手机上的网易云音乐软件");
} else{
print(lastError());
}
(三) JavaScript 实现在多个手机上同时自动关闭软件
原型:closeApp(packageName)
描述:通过 App 包名称关闭 App
参数:packageName:字符串,App 包名称,如: com.android.settings
返回值:整型,0:成功;-1:app 未安装
实例:JS 实现自动关闭电脑上连接的部分手机上网易云音乐软件,会弹出一个设备选择框,关闭选择的多个设备上的软件。
JS代码如下:
//定义需要运行的App包名称
var closeAppName = "com.netease.cloudmusic"
//获取选择的部分设备对象集合
var devices = Device.searchObject(sigmaConst.DevSelectMult);
//关闭网易云音乐软件
var ret=devices.closeApp(closeAppName);
if (ret == 0){
print("成功关闭选择的部分手机上的网易云音乐软件");
} else{
print(lastError());
}
(四)不知道我要打开或关闭的软件的软件包名怎么办?
为了方便用户,Total Control 提供了另一个JS API “getForegroundApp()” 来帮助用户获取应用程序的包名。
原型:getForegroundApp()
描述:获取当前手机前台运行的应用程序包名。
参数:无。
返回值:字符串:app 包名
实例:JS 获取手机前台运行的程序包名
首先,我们在手机上打开一个应用程序(假如我们打开的是网易云音乐软件),然后用下面的代码,获取当前打开的应用程序包名,执行下列代码,获取到的网易云音乐软件的包名是:com.netease.cloudmusic。
JS代码如下:
//获取当前主控设备对象
var device = Device.getMain();
if(!device) {
print("没有找到设备");
} else {
//获得当前手机前台运行的应用程序包名,手机当前在用音乐软件听歌
var ret = device.getForegroundApp();
print("手机前台运行的app是: "+ret);
}
当然要用以上脚本,首先需要下载Total Control软件,百度搜索TC,Total Control都可以找到官网,直接下载就可以了。官网还提供了Javascript和易语言的很多应用示例,都可以参考。可以说是很贴心了,点赞!!!

打赏

本文链接:https://www.kinber.cn/post/1228.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客