android service的监听前台点击事件怎么写
答案:2 悬赏:30 手机版
解决时间 2021-03-23 03:01
- 提问者网友:人生佛魔见
- 2021-03-22 06:27
android service的监听前台点击事件怎么写
最佳答案
- 五星知识达人网友:孤独入客枕
- 2021-03-22 08:05
通过广播的形式,在service里面注册广播,然后前台点击的时候发送广播
全部回答
- 1楼网友:举杯邀酒敬孤独
- 2021-03-22 08:25
1. 第一种办法是广播,一般来说系统对于音量键和home键会发送广播,我们可以再广播中监听这些按键信息。具体的intentfilter怎么写,大家可以百度一下。
2. 第二种办法仍然是广播,不过这就需要修改sdk了,在windmanagerservice里面,分发按键事件的时候的发送特殊的广播的,这个改动可能比较麻烦。
3. 第三种办法是直接读取输入设备文件,一般该文件位于/dev/input/文件夹下面,不过里面一般有多个文件,具体哪个文件描述的哪一个输入设备,需要大家进行尝试。设备的文件的读取需要使用c或者c++来完成。具体的实现代码可以参考:https://github.com/radhoo/android-event-injector。这种办法需要有root权限才行,而且读取的键值是没有做过转换的,也就是说和我们平常使用的键值是不一样的。其实大家可以在adb shell中,通过getevent查看。
4. 第四种办法是使用系统的无障碍服务,也就是accessibilityservice。我最终采用的方式就是这个,因为这个不仅可以监听按键,还能拦截。关于accessibilityservice的实现,网上讲的比较多了。我这里只提几个需要注意的点:
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯