2011-04-12 37 views
1

你好我使用的按键事件注射使用的窗口管理器 但是当我测试该应用中它给了我错误的Android的keyEvent注射需要系统权限

04-12 18:19:35.794: WARN/WindowManager(58): Permission denied: injecting key event   
    from pid 6290 uid 10039 to window Window{45034880 
    com.android.launcher/com.android.launcher2.Launcher paused=false} owned by uid 10020 

    04-12 18:19:35.794: WARN/System.err(6290): java.lang.SecurityException: Injecting to 
    another application requires INJECT_EVENTS permission 

04-12 18:19:35.854: DEBUG/PhoneData(6290): 

    04-12 18:19:36.048: WARN/System.err(6290):  at 
android.os.Parcel.readException(Parcel.java:1247) 

    04-12 18:19:36.048: WARN/System.err(6290):  at 
    android.os.Parcel.readException(Parcel.java:1235) 

我也给引入事件许可 是有什么办法给予应用系统权限。

回答

4

只有作为固件一部分的应用程序(即由固件签名密钥签名)才能保存INJECT_EVENTS权限。如果你正在制作自己的设备或固件,这将是相关的。如果您正在创建普通的SDK应用程序,则无法注入事件。

0

正常情况下,出于安全原因,您不能这样做。但是,如果这是出于测试目的,您可能会发现Activity Testing文档很有用。

希望这会有所帮助。