日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android Accessibility实践 程序检查微信被删好友

發(fā)布時(shí)間:2024/3/26 Android 70 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android Accessibility实践 程序检查微信被删好友 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原理

通過Android 無障礙輔助功能實(shí)現(xiàn)模擬點(diǎn)擊控件來實(shí)現(xiàn)
檢查被刪好友有兩種方法:


  • 向好友發(fā)送一條消息,如果對(duì)方已經(jīng)把你刪除,則消息發(fā)送失敗。

  • 建群法:新建一個(gè)不大于40人的群,如果其中有好友已經(jīng)把你刪除,微信會(huì)有條消息提示

  • 整體執(zhí)行步驟:啟動(dòng)微信->點(diǎn)擊+號(hào)->發(fā)起群聊->選擇35個(gè)聯(lián)系人->點(diǎn)擊確定->點(diǎn)擊群里詳情->刪除并退出,依次輪詢執(zhí)行,知道所有好友輪詢結(jié)束




  • 本文采用建群的方式進(jìn)行檢查。


    本人微信有300好友,全部檢測一遍只需3分鐘即可,親測已經(jīng)成功,
    但是建群沒有超過40人 會(huì)有個(gè)別好友會(huì)受到打擾消息,可能是微信哪里的bug,具體原因未知。


    說明和app預(yù)覽

    此軟件通過無障礙輔助進(jìn)行模擬點(diǎn)擊,無任何外掛木馬,無封號(hào)風(fēng)險(xiǎn)






    使用方法

  • Android 手機(jī)一部,登錄微信賬號(hào)

  • 安裝輔助軟件apk下載地址請(qǐng)點(diǎn)擊這里(https://raw.githubusercontent.com/wlj32011/InspectWechatFriend/master/app-release.apk)

  • 打開輔助軟件-點(diǎn)擊打開輔助功能按鈕,跳轉(zhuǎn)到無障礙輔助設(shè)置把輔助開關(guān)打開。

  • 點(diǎn)擊開始檢查按鈕,開始一系列的模擬點(diǎn)擊,檢查完成后會(huì)跳轉(zhuǎn)到一個(gè)列表會(huì)把被刪好友列表展示出來。


  • 2

    實(shí)現(xiàn)步驟

    ? ?

    新建Android Studio 工程,新建一個(gè)Services類集成AccessibilityService,實(shí)現(xiàn)對(duì)應(yīng)方法,詳細(xì)介紹見代碼注釋




    在manifests.xml文件中注冊(cè)此服務(wù):




    新建res/xml/inspect_wechat_friend.xml文件




    實(shí)現(xiàn)對(duì)某個(gè)控件的點(diǎn)擊


    通過getRootInActiveWindow方法獲取當(dāng)前窗口信息,通過findAccessibilityNodeInfosByText方法找到當(dāng)前對(duì)應(yīng)控件進(jìn)行模擬點(diǎn)擊


    在當(dāng)前頁面查找文字內(nèi)容并點(diǎn)擊




    檢查viewId進(jìn)行點(diǎn)擊




    在當(dāng)前頁面查找對(duì)話框文字內(nèi)容并點(diǎn)擊




    監(jiān)聽窗口事件


    獲取當(dāng)前窗口的classname 通過classname進(jìn)行判斷當(dāng)前手機(jī)處于某個(gè)界面
    下面代碼邏輯:

  • 如果當(dāng)前為微信主頁面,則點(diǎn)擊+號(hào)然后點(diǎn)擊發(fā)起群聊

  • 如果當(dāng)前頁面為創(chuàng)建群聊選擇聯(lián)系人界面,則開啟一個(gè)while循環(huán)模擬滾動(dòng)時(shí)間以及點(diǎn)擊選擇框,當(dāng)選擇用戶到39人時(shí),則模擬點(diǎn)擊確定按鈕發(fā)起群聊。

  • 發(fā)起群聊后,微信會(huì)返回哪些用戶不是你的好友,這個(gè)時(shí)候,取到當(dāng)前控件的字符串并截取用戶列表保存到本地。

  • 獲取到不是好友的用戶后,點(diǎn)擊右上角進(jìn)入群聊詳情,點(diǎn)擊刪除并退出

  • 退出后又回到微信主頁面,依次執(zhí)行1 2 3 4步驟,直到滾動(dòng)到聯(lián)系人最底部為止。

  • 當(dāng)所有用戶執(zhí)行完成后,則啟動(dòng)檢查結(jié)果界面,列出所有被刪好友。


  • 下面為對(duì)應(yīng)邏輯代碼:


    監(jiān)聽手機(jī)當(dāng)前窗口狀態(tài)改變 比如 Activity 跳轉(zhuǎn),內(nèi)容變化,按鈕點(diǎn)擊等事件




    模擬創(chuàng)建群組步驟




    退出群組步驟




    模擬獲取被刪好友列表步驟




    3

    ui automator viewer的使用

    ? ?

    uiautomatorviewer可以檢查當(dāng)前手機(jī)的布局結(jié)構(gòu),如果想更精確的找到控件位置,uiautomatorviewer必不可少!


    使用方法:

  • 搭建Android開發(fā)環(huán)境,并設(shè)置環(huán)境變量,這里就不說了。

  • 在Android Studio 中打開 terminal 窗口,或者在終端直接執(zhí)行命令


  • $uiautomatorviewer


    整體效果圖:




    項(xiàng)目源碼github地址:

    • https://github.com/wlj32011/InspectWechatFriend

    總結(jié)

    以上是生活随笔為你收集整理的Android Accessibility实践 程序检查微信被删好友的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。