2010-07-11 77 views
2

我購買了三星Galaxy I9000手機,知道它沒有軌跡球,也沒有觸摸板/光標鍵。我想:只需編寫一個讀取手勢併發送/生成適當光標事件的應用程序即可。檢查SDK文檔並發現在授予我的應用程序權限'INJECT_EVENTS'後可以這樣做:「允許應用程序將用戶事件(按鍵,觸摸,軌跡球)插入到事件流中並將它們傳送到ANY窗口。您只能在自己的過程中將事件傳遞到窗口。「HowTo模擬Android設備上的軌跡球/光標移動?

這清楚地表明,此權限在應用程序級別不僅在系統/固件級別可用。

經過幾個小時的實驗,我沒有找到任何方法讓我的程序將光標事件注入到除我自己以外的任何其他程序中。如果沒有「INJECT_EVENTS」權限,這怎麼能實現呢?

+0

您希望您的應用在沒有必要權限的情況下執行一些具有巨大安全隱患的操作?我認爲如果你找到一種方法來做到這一點,你會發現一個需要修復的巨大bug。 :) – adamp 2010-07-11 19:30:50

+0

如果這樣可以安全地通過安全檢查,這將是真實的 - 但由於我正在請求權限'INJECT_EVENTS',所以我不介意系統詢問我是否要在安裝過程中允許它。 我需要這種應用程序(因爲三星Galaxy I9000沒有光標墊或軌跡球)。 – user388759 2010-07-12 06:26:05

回答

0

@adamp在註釋中指出,沒有INJECT_EVENTS權限就沒有辦法做到這一點,因爲這會是一個巨大的安全漏洞。此外,this questionthis bug似乎表明INJECT_EVENTS是系統級權限,不適用於非系統應用程序。