gpt4 book ai didi

android - 来自服务的 dispatchKeyEvent

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

我在服务中创建了一个 float View ,当我触摸这个 View 时我需要调度按键事件。我发现 view.dispatchKeyEvent() 需要前台 Activity 的上下文,并且关键事件调度仅在 Activity 为前台时才有效。当您关闭/暂停 Activity 并触摸 View 时 - 没有任何反应,甚至 LogCat 中也没有 NPE。

有没有办法在主要 Activity 之外使用此方法?

最佳答案

这可能有点太晚了,但我找到了解决方案。 (假设 OP 仍然希望从 float View 或服务触发操作系统后退按钮。)

如果您注册了 Accessibility Service,似乎可以告诉 Android 按下后退按钮。 . (一旦您的组件在 Android 中注册,用户必须在系统设置中明确启用它。因此,如果这只是您的应用的一个小众功能而不是一个关键功能,那么它可能有点矫枉过正。)

一旦您完成注册.etc。因此,您的后台服务可能会告诉辅助功能服务执行后退按钮,这可以通过调用

performGlobalAction( GLOBAL_ACTION_BACK )

来自无障碍服务。

您确实需要 API 级别 16 或更高版本才能正常工作。

我还没来得及测试这个,但根据文档,这应该可行。 尝试并在许多最近的设备上工作。 (Kitkat、Marshmellow 和 Nouget)

我找到了应用 Back Button (No root)在 play store 上,似乎采用这种技术为后退、主页等绘制软按钮。 (适用于 LG Nexus 5X 和三星 Galaxy Tab A 2016)

HTH

关于android - 来自服务的 dispatchKeyEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20974498/

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