Autojs模块:应用

关于手机应用操作方法的模块

哔哩哔哩:https://www.bilibili.com/video/BV16yfiYREnL/

应用 APP


1、关于APP版本的命令


app.versionCode

  • 当前软件版本号

app.versionName

  • 当前软件版本名称

app.autojs.versionCode

  • autojs版本号

app.autojs.versionName

  • autojs版本名称

2、打开APP


app.launchApp(appName)

  • 通过APP名称打开APP
//该函数也可以作为全局函数使用。
​
//打开autojs
launchApp("Auto.js");

app.launch(packageName)

  • 通过APP包名打开APP
//另一种写法
app.launchPackage(packageName)
​
//该函数也可以作为全局函数使用。
​
//启动微信
launch("com.tencent.mm");

app.getPackageName(appName)

  • 获取应用名称对应的已安装的应用的包名。
  • 如果该找不到该应用,返回null;如果该名称对应多个应用,则只返回其中某一个的包名。
//该函数也可以作为全局函数使用。
​
var name = getPackageName("QQ"); //返回"com.tencent.mobileqq"

app.getAppName(packageName)

  • 获取应用包名对应的已安装的应用的名称。如果该找不到该应用,返回null。
//该函数也可以作为全局函数使用。
​
var name = getAppName("com.tencent.mobileqq"); //返回"QQ"

3、查看和编辑文件


app.viewFile(path)

  • 用其他应用查看文件。文件不存在的情况由查看文件的应用处理。

app.editFile(path)

  • 用其他应用编辑文件。文件不存在的情况由编辑文件的应用处理。

4、APP的安装和卸载


app.uninstall(packageName)

  • 卸载应用。执行后会会弹出卸载应用的提示框。如果该包名的应用未安装,由应用卸载程序处理,可能弹出”未找到应用”的提示。

app.viewFile(path)

  • path:apk的地址

5、不同的跳转方式


app.openAppSetting(packageName)

  • 打开应用的详情页(设置页)。如果找不到该应用,返回false; 否则返回true。
  • 该函数也可以作为全局函数使用。

app.startActivity(name)

  • 启动Auto.js的特定界面。该函数在Auto.js内运行则会打开Auto.js内的界面,在打包应用中运行则会打开打包应用的相应界面。
  • name {string} 活动名称,可选的值为:
    • console 日志界面
    • settings 设置界面

app.openUrl(url)

  • 用浏览器打开网站url。

6、自动发送邮件


app.sendEmail(options)

  • options {Object} 发送邮件的参数。包括:
    • email {string} | {Array} 收件人的邮件地址。如果有多个收件人,则用字符串数组表示
    • cc {string} | {Array} 抄送收件人的邮件地址。如果有多个抄送收件人,则用字符串数组表示
    • bcc {string} | {Array} 密送收件人的邮件地址。如果有多个密送收件人,则用字符串数组表示
    • subject {string} 邮件主题(标题)
    • text {string} 邮件正文
    • attachment {string} 附件的路径。
  • 根据选项options调用邮箱应用发送邮件。这些选项均是可选的。
//发送邮件给10086@qq.com和10001@qq.com。
app.sendEmail({
    email: ["10086@qq.com", "10001@qq.com"],
    subject: "这是一个邮件标题",
    text: "这是邮件正文"
});

7、获取APP的版本号


// 获取QQ的版本号
getAppVersion('com.tencent.mobileqq');
​
function getAppVersion(package){
    importPackage(android.content);
    var pckMan = context.getPackageManager();
    var packageInfo = pckMan.getPackageInfo(package,0);
    return packageInfo.versionName;
}

– 示例代码


打开应用


var appName = rawInput("请输入应用名称");
launchApp(appName);
​
//启动微信
launch("com.tencent.mm");

发送意图-文本消息分享


var content = rawInput('请输入要分享的文本');
app.startActivity({
    action: "android.intent.action.SEND",
    type: "text/*",
    extras: {
      "android.intent.extra.TEXT": content
    },
    packageName: "com.tencent.mobileqq",
    className: "com.tencent.mobileqq.activity.JumpActivity"
});

强制停止应用


"auto";
​
var appName = rawInput("请输入应用名称");
openAppSetting(getPackageName(appName));
while(!click("强制停止"));

卸载应用


//输入应用名称
var appName = rawInput('请输入要卸载的应用名称');
//获取应用包名
var packageName = getPackageName(appName);
if(!packageName){
    toast("应用不存在!");
}else{
    //卸载应用
    app.uninstall(packageName);
}

应用工具


var i = dialogs.select("请选择工具", "获取应用包名", "打开应用详情页", "卸载应用");
​
if(i == -1){
    alert("没有选择任何工具!");
}
​
switch(i){
case 0:
    //获取应用包名
    appName = rawInput("请输入应用名称", "QQ");
    packageName = getPackageName(appName);
    toast(packageName);
    setClip(packageName);
    toast("已复制到剪贴板");
    break;
case 1:
    //打开应用详情页
    appName = rawInput("请输入应用名称", "微信");
    openAppSetting(getPackageName(appName));
    break;
case 2:
    //卸载应用
    appName = rawInput("请输入应用名称");
    packageName = getPackageName(appName);
    if(packageName == ""){
        toast("应用不存在");
    }else if(confirm("确定卸载应用" + packageName + "吗?")){
        app.uninstall(packageName);
    }
    break;
}

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧