相关疑难解决方法(0)

如何使用 AccessibilityService 在 Android 上执行拖动(基于 X、Y 鼠标坐标)?

我想知道如何基于 X、Y 鼠标坐标在 android 上执行拖动?考虑两个简单的例子,Team Viewer/QuickSupport分别在远程智能手机和Windows Paint的Pen上绘制“密码模式”。

在此处输入图片说明

在此处输入图片说明

我所能做的就是模拟触摸(使用dispatchGesture()AccessibilityNodeInfo.ACTION_CLICK)。

我找到了这些相关链接,但不知道它们是否有用:

下面是我的工作代码,用于将鼠标坐标(在PictureBox控制范围内)发送到远程电话并模拟触摸。

Windows 窗体应用程序:

private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
    foreach (ListViewItem item in lvConnections.SelectedItems)
    {
        // Remote screen resolution
        string[] tokens = item.SubItems[5].Text.Split('x'); // Ex: 1080x1920

        int xClick = (e.X * int.Parse(tokens[0].ToString())) / (pictureBox1.Size.Width);
        int yClick = (e.Y * int.Parse(tokens[1].ToString())) / (pictureBox1.Size.Height);

        Client client = (Client)item.Tag;

        if (e.Button == MouseButtons.Left)
            client.sock.Send(Encoding.UTF8.GetBytes("TOUCH" + xClick + "<|>" + …
Run Code Online (Sandbox Code Playgroud)

c# java android mouse-coordinates accessibilityservice

42
推荐指数
1
解决办法
2648
查看次数

将Touch事件注入Android上的另一个应用程序

我有一个不带内置控制器支持,基于触摸的控件的游戏。我想将它与游戏板一起使用,并获得一些Android编程经验的动手工具。

我想弄清楚我是否可以让我的应用监听控制器事件,并将其转发给我的游戏。

我学习了如何处理控制器事件。然后我发现由于安全原因我无法转发它们-现在出于充分的理由允许以编程方式发送触摸事件。

根据此博客(其SSL证书已过期),有三种注入触摸事件的方法:

  1. 使用内部API(容易更改,需要root才能发送到另一个应用程序)
  2. 使用公共API规范(需要root才能发送到另一个应用)
  3. 直接写入/ dev / input / eventX(需要root才能更改权限)

我发现的其他方法包括构建自己的平台,因此您可以将应用程序设置为系统应用程序,并使用平台证书对其进行签名,以为其提供所需的权限。

或将另一个应用程序包装在您自己的应用程序中,但是使用Instrumentation发送触摸事件仍然需要root用户。

我还阅读了有关Accessibility API的信息,但看起来它被认为是对该API的滥用,并且将来可能无法实现。

我宁愿不让我的设备扎根,因为许多游戏如果检测到根,就会出现问题。

我本来打算放弃的,但后来发现了类似以下的应用程序:

  1. Touch4Gamepad-这个使用称为Arduino Board的硬件。Touch4Gamepad演示
  2. 章鱼 -这似乎是我想要尝试的方法,但它有很多两极分化的意见。它也不适用于Google Play服务。章鱼演示
  3. DRO-CON-通过连接的PC进行操作似乎采取了一种完全不同的方法。
  4. TeamViewer-它似乎可以远程控制Android,包括发送触摸事件。根据此线程,TeamViewer与电话制造商达成协议以获取所需的权限。支持的遥控器制造商

尽管Android具有安全性,但无论如何,选项2似乎都能做到。怎么样了?

编辑:我下载了章鱼的APK,并看看里面。它包含一个名为libinject.so ...的文件,因此它在发挥作用。我现在有一个新的研究方向,但是如果有人链接到与此相关的资源,我将非常感激。

android

17
推荐指数
1
解决办法
683
查看次数

TeamViewer如何获取屏幕截图并允许无root的远程控制?

背景

TeamViewer允许远程控制其他Android设备.它很慢,但它完成了这项工作.

它需要安装2个应用程序.一个控制(链接在这里),一个控制(链接在这里).

我不确定它是否有其他选择,但我想知道是否可以这样做.

问题

我找不到teamViewer使用的任何特殊权限,并且它在没有root的情况下完成所有操作.

这很奇怪,因为我已经阅读了很多地方,为了让应用程序截取屏幕截图,它必须具有root权限(或者连接到计算机并使用ADB截取屏幕截图).

这个问题

怎么会这样?TeamViewer有哪些功能可以实现?

如何在没有任何特殊许可的情况下拍摄截图?这个应用程序甚至不是系统应用程序...

是不是可以做任何没有root的TeamViewer做的事情?

TeamViewer有替代品吗?

假设我有root,如何有效地远程控制或流式传输屏幕截图?

android screenshot root screen-capture remote-control

12
推荐指数
1
解决办法
9180
查看次数