我在我的活动中使用以下代码。
dispatchKeyEvent(new KeyEvent (KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK));
Problem:
如何在服务中使用上述行代码。
我认为dispatchKeyEvent方法存在于Activity类中,而不存在于Service类中的Exist中。
所以其他任何方式或如何解决它。
答案 0 :(得分:1)
如何在服务中使用上述行代码
你不能。
我认为dispatchKeyEvent方法存在于Activity类中,而不存在于Service类中的Exist中。
正确。服务没有UI,因此没有要调度的关键事件。
所以其他任何方式或如何解决它。
请勿尝试从服务发送密钥事件。在任何人使用它的情况下,dispatchKeyEvent()
用于模拟活动自己的UI中的关键事件。欢迎您的服务告诉您的活动派遣重要活动。您可以使用事件总线实现(例如,greenrobot的EventBus)。
答案 1 :(得分:0)
dispatchKeyEvent和其他键事件仅在UI存在于诸如Activity和View类之类的类中时才起作用,而在Service中不起作用。这是出于安全目的。但是您可以使用辅助功能服务来做到这一点。
请参考以下链接:https://developer.android.com/training/game-controllers/controller-input