我正在尝试制作一个具有自动滚动功能的应用程序。我的想法是要使浮动按钮(如Facebook聊天头)具有两个按钮,一个按钮向下滚动,另一个按钮向上滚动。
我面临的问题是,我不知道如何将触摸/滚动事件传递到基础屏幕。我发现了这个github要点:https://gist.github.com/oneyoung/a14c99856c3984263734,它使用上下文将动作传递到,但是由于我希望它将其传递到底层屏幕,所以我想上下文将发生变化,并且它将不再起作用。
欢迎对此提出任何想法或指示,请提前致谢!
PS。这是一个截图,以了解我目前拥有的内容:https://i.stack.imgur.com/B2w3z.jpg
send touch events to a device via adb
您可以通过外壳向Android发送触摸事件。我认为这与您想要的东西相似。
[因此,使用提供的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