电脑可以控制手机吗?可以让多个手机同时自动安装、卸载软件吗?当然是可以的。用过很多群控软件,很多品牌,有提供了很多现成服务的,但是市场瞬息万变,需求变化也很快,成本太高。也尝试了云控系统,但是云控封号封的我心里哇凉哇凉的,无法呼吸的痛。
一直深得我心的还是Total Control,软件很正规,手机不需要root,一卡一号,实际手机,不存在封号风险,用起来长远,不怕平台有一天消失。最重要的是他们的脚本平台,可以自己用多种脚本语言来实现不同的需求,性价比真的很高了。Total Control 真是一款神奇的软件,用脚本不仅可以用脚本实现自动打开安装卸载手机软件等功能,还可以用脚本实现在多个手机上同时自动打开卸载手机上的软件。我来分享一下我是怎么实现的。要实现在多个手机上同时安装、卸载指定应用程序,首先我们得用电脑连接多个手机,用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 实现在多个手机上同时自动安装软件
原型:installapk(apkPath)
描述:安装 apk 到手机
参数:apkPath:字符串,电脑上apk 安装包绝对路径
返回值:整型:成功返回 0,失败返回非 0,此时可通过 lastError() 函数获取具体的错误信息
实例:JS 实现自动在电脑连接的多个手机上同时安装QQ音乐软件,QQ音乐安装包放在电脑的D盘,D:\下载软件\QQyinle_850.apk
JS代码如下:
//获取当前电脑连接的所有设备对象集合
var devices = Device.searchObject(sigmaConst.DevAll);
//安装QQyinle_850.apk
var ret = devices.installAPK("D:\\下载软件\\QQyinle_850.apk");
if(ret != 0) {
print(lastError());
} else {
print("成功安装APK");
}
(三) JavaScript 实现在多个手机上同时自动卸载软件
原型:uninstallAPK(apkPackageName)
描述:卸载指定的 apk
参数:apkPackageName:字符串,包名
返回值:整型:成功返回 0,失败返回非 0,此时可通过 lastError() 函数获取具体的错误信息
实例:JS 实现自动在电脑连接的多个手机上同时卸载应用程序
JS代码如下:
// 弹出一个设备组选择窗口,根据选择的一个设备组获取组内所有设备的对象集合
var devices = Device.searchObject(sigmaConst.DevSelectGroup);
if (devices != null) {
// 卸载指定的软件QQ 音乐,QQ音乐的软件名称为"com.tencent.qqmusic"
var ret = devices.uninstallAPK("com.tencent.qqmusic");
if(ret == 0) {
print("Successfully uninstall APK");
} else {
print(lastError());
}
} else {
print("没有获取到设备对象");
}
(四)不知道我要卸载的软件的软件包名怎么办?
为了方便用户,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是:\n" ret);
}
当然最关键的一步是百度搜索Total Control在官网下载软件哦~~~我相信你会感谢我的!!!
,