autojs使用intent打开新浪微博的用户任务中心scheme的详细过程

前言

在开发微博的任务脚本中,有个需求是直接打开任务中心。

常规的写法是先启动微博APP,再判断首页是否存在任务入口,然后进入任务中心。

// 进入用户任务中心/登录页面
function app_enterTaskCenter() {
    if (!clickNode("id", "rlredpacketSave")) {
        log("没找到任务中心,可能未登录")
        clickNode("desc","我", random(myAPP.delayMin, myAPP.delayMax))  //进入个人中心
    }
}

这种写法,需要处理APPA启动后的广告、弹窗等不确定的内容。拉长了脚本的开发周期。那么有没有简单粗暴的办法,直接打开任务中心呢?
下面跟着飞云一起来研究。

准备工作

  • 安装好Visual Studio Code的电脑
  • 安装好新浪微博的安卓手机
  • 手机上安装并登录Auto.js Pro

教程

首先在手机上手动进入新浪微博的任务中心。
file

点击页面右上角的“…”,弹出分享卡片。点击“复制链接”。
file

通过QQ、微信等工具,将复制的链接,发送到电脑上。在电脑的浏览器里,打开这个链接。
file

点击“我要领取”,进入新的页面。
file

查看页面的html代码,页面的body部分内容如下:

<div id="app" class="m-container-max">
        <div class="browser">
            <div class="b-tip-top" id="openWeibo">
                已安装?<a class="click-block" id="openIntentLink">点击<span class="click-dot">此处</span>打开微博</a>
            </div>
            <div class="b-logo">
                                    <img src="https://h5.sinaimg.cn/upload/1005/571/2018/05/31/wb-logo.png"/>
                            </div>
            <p class="w-tip-b">若没有安装微博,请先下载</p>
                            <a href="https://c.weibo.cn?scheme=sinaweibo%3A%2F%2Fbrowser%3Furl%3Dhttps%253A%252F%252Fm.weibo.cn%252Fc%252Fcheckin%253Ffeaturecode%253Dfrom_sharingpage_to_mtask%2526luicode%253D20000061%2526lfid%253D180%26featurecode%3Dfrom_sharingpage_to_mtask%26luicode%3D20000061%26lfid%3D180&directdownload=0" class="m-btn m-btn-block m-btn-orange download-btn-r" ontouchstart="">去下载微博</a>
                                <div class="bg"></div>
            </div>
    </div>

其中有这样一段:

<a href="https://c.weibo.cn?scheme=sinaweibo%3A%2F%2Fbrowser%3Furl%3Dhttps%253A%252F%252Fm.weibo.cn%252Fc%252Fcheckin%253Ffeaturecode%253Dfrom_sharingpage_to_mtask%2526luicode%253D20000061%2526lfid%253D180%26featurecode%3Dfrom_sharingpage_to_mtask%26luicode%3D20000061%26lfid%3D180&directdownload=0" class="m-btn m-btn-block m-btn-orange download-btn-r" ontouchstart="">去下载微博</a>

这个url里,存在scheme这个关键字。我们把scheme后面的地址提取出来。

sinaweibo%3A%2F%2Fbrowser%3Furl%3Dhttps%253A%252F%252Fm.weibo.cn%252Fc%252Fcheckin%253Ffeaturecode%253Dfrom_sharingpage_to_mtask%2526luicode%253D20000061%2526lfid%253D180%26featurecode%3Dfrom_sharingpage_to_mtask%26luicode%3D20000061%26lfid%3D180&directdownload=0

这个地址需要进行编码转换,才可以在autojs中使用。
下面在百度搜索“编码转换”,打开一个在线转换工具。
URL编码/解码工具
file

选择“URL编码/解码”,将scheme地址,进行一次“UrlDecode解码”。可以看到开头部分的“%3A%2F%2F”已经被转换成了“://”
file

接下来使用auto.js的Intent(意图),来测试这个scheme地址。
auto.js提供了构建Intent的函数app.intent(), 启动Activity的函数app.startActivity(), 发送广播的函数app.sendBroadcast()。使用这些方法可以用来方便的调用其他应用。
Auto.js Pro开发文档

在连接好手机的Visual Studio Code中输入以下代码:

app.startActivity({
    data:"sinaweibo://browser?url=https%3A%2F%2Fm.weibo.cn%2Fc%2Fcheckin%3Ffeaturecode%3Dfrom_sharingpage_to_mtask%26luicode%3D20000061%26lfid%3D180&featurecode=from_sharingpage_to_mtask&luicode=20000061&lfid=180&directdownload=0"
});

按F5调试运行代码,可以看到手机上直接就进入了“用户任务中心”。大功告成。

相关教程

跟我学Auto.js Pro安卓免ROOT引流脚本开发教程

Auto.js Pro使用Intent跳转,传入抖音uid快速打开用户资料页

为什么可以通过URL来调起APP – URL Scheme和Intent

1. 本站部分资源来源于用户上传和网络搜集,如有侵权请联系站长。
2. 官方交流QQ群飞云脚本圈,欢迎加入。
3. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。

飞云脚本 » autojs使用intent打开新浪微博的用户任务中心scheme的详细过程

发表评论

跟我学Auto.js Pro安卓全分辨率免ROOT引流脚本开发教程

立即报名