电脑控制手机 教你实现多个手机同时自动安装卸载软件

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

电脑控制手机,教你怎样实现自动打开关闭软件

一直深得我心的还是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软件,百度搜索TC,Total Control都可以找到官网,直接下载就可以了。官网还提供了Javascript和易语言的很多应用示例,都可以参考。可以说是很贴心了,点赞!!!

电脑控制手机,教你怎样实现自动打开关闭软件