Android:模拟滚动事件到基础屏幕

问题描述 投票:0回答:2

我正在尝试制作一个具有自动滚动功能的应用程序。我的想法是要使浮动按钮(如Facebook聊天头)具有两个按钮,一个按钮向下滚动,另一个按钮向上滚动。

我面临的问题是,我不知道如何将触摸/滚动事件传递到基础屏幕。我发现了这个github要点:https://gist.github.com/oneyoung/a14c99856c3984263734,它使用上下文将动作传递到,但是由于我希望它将其传递到底层屏幕,所以我想上下文将发生变化,并且它将不再起作用。

欢迎对此提出任何想法或指示,请提前致谢!

PS。这是一个截图,以了解我目前拥有的内容:https://i.stack.imgur.com/B2w3z.jpg

android
2个回答
0
投票

send touch events to a device via adb

您可以通过外壳向Android发送触摸事件。我认为这与您想要的东西相似。


0
投票

[因此,使用提供的github gist,可以以编程方式将用户输入发送到您的设备。至于上下文,服务本身就是上下文,因此您可以在onCreate方法中将其作为Input构造函数的参数传递,如下所示:

public void onCreate() {
  super.onCreate();
  Input input = new Input(this);

但是问题在于将输入传递到基础屏幕。这只有在具有系统权限的情况下才有可能,这意味着您将需要root用户,因为它会引发错误:W/System.err: Caused by: java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission

© www.soinside.com 2019 - 2024. All rights reserved.