2014-11-08 40 views
0

如何將觸摸事件發送到特定應用程序? 我發現了一些技巧,但設備必須紮根!如何將觸摸事件發送到Android中的特定應用程序

有一些應用程序可以做到這一點,不需要系統權限或根植設備!

沒有人知道這是可能的嗎?!

+2

您可以在非根系電話中使用輔助功能服務。 – greywolf82 2014-11-08 13:38:50

+0

你可以給我一個例子或鏈接?! – Jessica 2014-11-08 13:55:59

+0

不,因爲我從來沒有使用它,但有幾個應用程序使用它。例如AutoInput,您可以在YouTube上找到視頻。 – greywolf82 2014-11-08 14:28:59

回答

1

如果我沒理解好,你正在尋找的是能夠調用的應用程序A的onClick方法,從應用程序B.

如果兩個應用是由用戶自行設定,可以使周圍並以某種方式應用程序A,通過意圖傳遞時創建一個參數執行onClick方法。所以,當你從B打電話給你時,你會在意圖中引入額外的信息。

如果應用程序屬於對方,你需要做生根的東西,請注意,您可以調用其他活性的方法,如果你不您的清單申報活動...

+0

應用程序屬於對方!除了生根之外,還有什麼辦法嗎?! – Jessica 2014-11-08 13:46:54

0

如果您可以用USB電纜連接,您可以使用MonkeyRunnerADB commands來執行此操作。

例如,使用使用MonkeyRunner Jython腳本,您可以輸入觸摸這樣的活動(從文件略作修改):

#! /usr/bin/env monkeyrunner 

import java 

from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice 

# Connect and start application 
device = MonkeyRunner.waitForConnection() 
device.installPackage('myproject/bin/MyApplication.apk') 
package = 'com.example.android.myapplication' 
activity = 'com.example.android.myapplication.MainActivity' 
runComponent = package + '/' + activity 
device.startActivity(component=runComponent) 

# Touch and drag 
x, y = 100,100 
duration = 0.5 
numsteps = 20 

device.touch(x, y, DOWN) 
device.drag((x,y), (x+10,y+20), duration, numsteps) 

在亞行的,這是更容易adb shell input tap x y

順便說一句,長相像this StackOverflow question有您正在尋找的ADB例子,以防萬一。

+0

你可以發佈鏈接中的一些內容嗎? – Robert 2015-09-03 16:06:32

相關問題