TouchUtils与Android模拟器

kwi*_* wi 7 android unit-testing

有没有人能够使用TouchUtils该类提供的方法在Android模拟器上成功执行单元测试?
我能够让测试通过我的设备但是当我在模拟器上运行完全相同的测试(和测试套件)时,使用TouchUtils方法的任何测试总是抛出以下异常:

java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission
at android.os.Parcel.readException(Parcel.java:1327)
at android.os.Parcel.readException(Parcel.java:1281)
at android.view.IWindowManager$Stub$Proxy.injectPointerEvent(IWindowManager.java:1196)
at android.app.Instrumentation.sendPointerSync(Instrumentation.java:902)
at android.test.TouchUtils.drag(TouchUtils.java:786)
at android.test.TouchUtils.dragViewTo(TouchUtils.java:633)
...
Run Code Online (Sandbox Code Playgroud)

我已经解锁了键盘锁,甚至还运行了其他(非TouchUtils)测试用例.
我没有@UiThreadTest应用,也没有运行任何需要在UI线程上运行代码的东西.
当我注释出使用TouchUtils.dragViewTo(...)和放入简单的线时,assert(true)测试运行并通过.

有任何想法吗?

Raj*_*Dua 2

如果您的手机已锁定或主屏幕上有其他活动,则会发生这种情况。