文 | 明哥
首發 | 明哥的江湖(ID:code_gg_home)
微信當前是我們每天必用的 APP ,隨着工作,生活的高使用率,加了太多的羣,以及更多的推送信息。然而微信沒有去做一鍵標記已讀的功能,導致了未讀消右上角就會出現小紅點或者未讀消息的數字圖標。
之前有個很火爆的事件就是,大家使用歪脖子頭像以及給頭像右上角加紅標,這個讓強迫症們一度抓狂。
今天來分享一個工具,不需要 root,安裝後可輕鬆上手,當你啓動了這個工具後,進入微信界面,它就會幫你自動逐個點開未讀的界面,直到所有的都已清理,從而實現自動清理未讀消息。
我們藉助的工具是 AutoJs,官方地址如下:https://hyb1996.github.io/AutoJs-Docs/#/。
這裏簡單說明下它的原理:
Auto.js 是個基於 JavaScript 語言運行在 Android 平臺上的腳本框架。Auto.js 主要工作原理是基於輔助服務 AccessibilityService。
也就是之前我們使用輔助服務,現在可以藉由 Auto.js 作爲橋樑,來用 js 快速編寫代碼,快速調試。
項目地址,感興趣的可以學習:https://github.com/hyb1996/Auto.js
下來我們來說下該怎麼用它。首先我們下載下工具和源碼,後臺回覆 [小紅點清理] 即可獲取。
然後在手機上安裝APP,安裝好後,界面如下:
我們先點擊左側界面(位置1),將輔助功能開啓,同時把懸浮框開啓。(如下圖)
輔助功能是 Auto.js 運行的基礎,懸浮框是爲了我們後面找信息,寫代碼用的。我們演示下怎麼使用懸浮框,快速找到我們想要的信息。
我們這裏選擇佈局範圍查看,然後點擊界面的某個元素,會出現如下信息:
主要判定的就這幾個信息,文本 text,描述 desc,id 信息,以及類名。用這幾個信息,基本能判定市面 99% 的需求。
基礎功能介紹完了,我們看看今天的主角,怎麼一鍵清理小紅點。下載下來的壓縮包中,有個 js 腳本,打開內容如下:(工具裏面有很多 demo,這個就是快速學習的資料,我就是在這個基礎上,進行二次開發。)
"auto";
//下滑
//更多精彩,歡迎圍觀公衆號:明哥的江湖
function scroll() {
className("ListView").scrollForward();
}
//嘗試點擊
function tryFav(btn) {
var b = btn.bounds();
toast(b.centerX() + "####" + b.centerY());//彈出點擊位置,方便判斷是否正確
while(!click(b.centerX()-10, b.centerY()+10));
sleep(1000);
if (id("bah").find().empty()) {//如果當前是詳細界面,返回
back();
}
sleep(1000);
}
while (true) {
var c = id("op").find();//原點有兩類,一個是op ,一個是bai 。我們逐個定位
c.each(function(btn) {
tryFav(btn);
});
var d = id("bai").find();
d.each(function(btn) {
tryFav(btn);
});
scroll();//操作完成當前頁,進入下一頁
sleep(1000);
}
代碼註釋也寫的比較清晰,同時也非常簡單,如果你玩過 DOM 的HTML5 網頁解析,那麼這個看起來就熟悉太多了。
下來我們看下怎麼運行起來。
首先,將壓縮包中的js放到手機上面,然後在應用界面,選擇(位置2)
然後選擇從文件導入,導入後點擊箭頭,進去點擊運行,然後進入微信主界面。
然後神奇的工具就開始瘋狂跑了起來,效果如下:
再來說說 Auto.js 這個工具,是在雙十一期間,我看到市面有人分享自動搶喵幣,覺得很神奇,就順着介紹,找到了這個工具。它比起原生的輔助服務開發,顯得輕量,簡單,這個也是我感興趣的原因。
再者它的功能非常強大,支持獲取文本信息,填寫文本信息,以及自動存圖,自動獲取屏幕像素點,可以完成自動玩遊戲,自動刷界面,獲取信息。
藉助輔助服務這個力量,基本上可以完全覆蓋我們的測試場景,需求。對於自動化測試的朋友來說,也是一個利器。
最後再分享個技巧,雙擊微信主界面下方的未讀紅點,界面就會自動跳到下一個未讀的位置,可以使用這個,幫你更快的清理完小紅點消息。
以上,便是今天的內容,如果你有此需求,可以下載實踐起來了。
工具和源碼,後臺回覆 [小紅點清理] 即可獲取。
推薦: