gpt4 book ai didi

android - 带有 Android 模拟器的 TouchUtils

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:09:30 25 4
gpt4 key购买 nike

有没有人能够使用 TouchUtils 类提供的方法在 Android Emulator 上成功执行单元测试?
我能够让测试在我的设备上通过,但是当我在模拟器上运行完全相同的测试(和测试套件)时,任何使用 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)
...

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

有什么想法吗?

最佳答案

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

关于android - 带有 Android 模拟器的 TouchUtils,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8844687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com