2012-02-06 54 views
1

我試圖從系統權限的應用程序發送觸摸事件(點擊和運動)前臺應用程序(標準上傳,沒有植根)發送觸摸屏事件到前臺活動(僅APK)

我能夠運行shell腳本直接從Linux的shell模仿輸入但不能從我的應用程序:

Runtime.getRuntime().exec(cmd)

回報

cannot open /dev/input/event1, permission denied

這發生在cmdsh /path/script-emulating-eventssendevent /dev/input/event1 xxxx x x

由於應用程序具有用於共享用戶ID的android.uid.system,因此它不應該是android特權問題。

有什麼想法?

回答

0

果凍豆似乎有新的東西!輸入命令有所改善:

usage: input ... 
     input text <string> 
     input keyevent <key code number or name> 
->  input tap <x> <y> 
->  input swipe <x1> <y1> <x2> <y2> 

它能正常工作4.1.2

+0

我接受新的輸入接口作爲可接受的解決方案,因爲我沒有設法將觸摸屏事件發送到系統,否則。 – slash33 2013-01-16 12:26:35

1

爲了運行這些命令,您必須爲您的設備創建根目錄。

+0

確定。那麼是否有一個「發送運動事件」API,比這個輸入設備更可靠? – slash33 2012-02-15 08:14:06

+0

我不這麼認爲。 – 2012-05-21 14:52:26

+0

我通過刪除AID_ROOT或AID_SHELL上的測試修改了我的su。問題是setuid()和setgid()也失敗。有什麼不妥? adb shell ls -l/system/xbin/su * -rwsr-sr-x root root 64412 2012-09-17 08:12 su -rwsr-sr-x root root 64412 2012-09-06 12: 40 su.old – slash33 2012-09-17 09:58:12