Android中微信抢红包插件原理解析和开发实现
一、前言
自從去年中微信添加搶紅包的功能,微信的電商之旅算是正式開始正式火爆起來。但是作為Android開發(fā)者來說,我們在搶紅包的同時意識到了很多問題,就是手動去搶紅包的速度慢了,當(dāng)然這些有很多原因?qū)е铝恕;蛟S是網(wǎng)絡(luò)的原因,而且這個也是最大的原因。但是其他的不可忽略的因素也是要考慮到進去的,比如在手機充電鎖屏的時候,我們并不知道有人已經(jīng)開始發(fā)紅包了,那么這時候也是讓我們喪失了一大批紅包的原因。那么關(guān)于網(wǎng)絡(luò)的問題,我們開發(fā)者可能用相關(guān)技術(shù)無法解決(當(dāng)然在Google和Facebook看來的話,他們的理想是能夠在任何地方都能連接互聯(lián)網(wǎng),當(dāng)然在偏遠的農(nóng)村也是,不過我們期待他們有一天能夠普及開來。到時候才是真正的互聯(lián)網(wǎng))。扯得有點遠了。我們回歸到正題,今天我們來看看使用技術(shù)來解決其他非網(wǎng)絡(luò)問題。在充電鎖屏的時候也可以自動幫我們搶紅包。而且你要知道,機器搶紅包的準(zhǔn)確率是100%的,這個也許就是人和機器的區(qū)別。那么保證搶得準(zhǔn)確率是100%的話,那就依賴于我們高效準(zhǔn)確的算法實現(xiàn)了。下面就來看看原理實現(xiàn)。
當(dāng)去年我看到搶紅包那么火爆的時候,當(dāng)時作為一個開發(fā)者心里是多么渴望開發(fā)一個插件出來,可是當(dāng)時我們能想到的就是使用:
adb shell monkey
命令去模擬點擊屏幕,但是那種方式有一個問題就是是無頭緒的盲目點擊,所以幾乎會出現(xiàn)誤點,點擊成功率極其低下。所以當(dāng)時就沒有想到其他方法了,因為最近做了有關(guān)輔助功能相關(guān)的工作的時候,那么就發(fā)現(xiàn)這個功能可以用于搶紅包。
其實現(xiàn)在我們可以去各大市場搜索一下看到,有很多搶紅包的插件了。當(dāng)然我們并不是用于商業(yè)化,這里只是來解析一下原理。我們會發(fā)現(xiàn)那些插件都有一個共同的特點是:第一步都是引導(dǎo)用戶去開啟輔助功能。
二、原理解析
關(guān)于輔助功能(AccessibilityService),如果又不了解的同學(xué)可以去Google一下,這個功能其實很有用的,但是他的出現(xiàn)的出發(fā)點是給那些肢體上有障礙的人使用的,比如手指不健全的用戶,怎么才能滑動屏幕,然后打開一個應(yīng)用呢?那么輔助功能就是干這些事,他的功能其實就是可以概括兩句話:
第一、尋找到我們想要的View節(jié)點
第二、然后模擬點擊,實現(xiàn)特定功能
我們知道Android中的View體系是一個樹形結(jié)構(gòu),那么每一個View就是一個節(jié)點。所以我們可以查找到指定的節(jié)點,那么我們該如何查找到我們想要的節(jié)點呢?這里我們先看一下輔助功能(AccessibilityService)的用法
第一步、我們需要集成AccessibilityService類
我們需要自定一個Service然后繼承AccessibilityService,當(dāng)然還需要在AndroidManifest.xml中聲明這個服務(wù):
總結(jié)
以上是生活随笔為你收集整理的Android中微信抢红包插件原理解析和开发实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Deepin 下安装 LAMP
- 下一篇: 微信抢红包插件与Android辅助功能