我知道這不是關於此權限的第一條線程,但其他線程尚未完成或無法幫助我。權限:INJECT_EVENTS用於指導其他應用程序
我需要的是使用Instrumentation充氣KeyEvents。這很好用,比shell(「input keyevent」)方法更快速。但是如果我想注入其他應用程序,我會遇到SecurityException。這並沒有讓我感到意外,所以我在我的清單中加入了<uses-permission android:name="android.permission.INJECT_EVENTS" />
。 Eclipse停止調試,告訴我只有系統應用程序可以使用此權限。所以我使用已簽名的apk工具編譯並將該apk推送到/ system/app。重新啓動,並猜測什麼
W/PackageManager(3499): Not granting permission android.permission.INJECT_EVENTS to package com.<....> (protectionLevel=2 flags=0x8be45)
該應用程序僅針對一個特殊設備。所以我知道所有的規格和它的根源。但是su
注入命令需要很長時間並且需要超級用戶。我很樂意用Instrumentation來做到這一點,或者我應該嘗試一些其他的東西?
固件不是由我寫的,所以我沒有平臺密鑰。
感謝您的幫助!
編輯:得到平臺鍵(開發使用正常的谷歌的),簽署和對齊,然後推apk到/系統/應用程序。還在我的清單中添加了android:sharedUserId="android.uid.system"
。在啓動時,不再有logcat消息。但是,當我想發送keysync我仍然catche SecurityException
。有任何想法嗎?
編輯2:這是摘自ps
。好像沒有列爲系統封裝IST
u0_a108 5241 2399 492044 48968 ffffffff 40113ab0 S com.mypackage