我想知道如何基于 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) 我有一个不带内置控制器支持,基于触摸的控件的游戏。我想将它与游戏板一起使用,并获得一些Android编程经验的动手工具。
我想弄清楚我是否可以让我的应用监听控制器事件,并将其转发给我的游戏。
我学习了如何处理控制器事件。然后我发现由于安全原因我无法转发它们-现在出于充分的理由允许以编程方式发送触摸事件。
根据此博客(其SSL证书已过期),有三种注入触摸事件的方法:
我发现的其他方法包括构建自己的平台,因此您可以将应用程序设置为系统应用程序,并使用平台证书对其进行签名,以为其提供所需的权限。
或将另一个应用程序包装在您自己的应用程序中,但是使用Instrumentation发送触摸事件仍然需要root用户。
我还阅读了有关Accessibility API的信息,但看起来它被认为是对该API的滥用,并且将来可能无法实现。
我宁愿不让我的设备扎根,因为许多游戏如果检测到根,就会出现问题。
我本来打算放弃的,但后来发现了类似以下的应用程序:
尽管Android具有安全性,但无论如何,选项2似乎都能做到。怎么样了?
编辑:我下载了章鱼的APK,并看看里面。它包含一个名为libinject.so ...的文件,因此它在发挥作用。我现在有一个新的研究方向,但是如果有人链接到与此相关的资源,我将非常感激。
TeamViewer允许远程控制其他Android设备.它很慢,但它完成了这项工作.
它需要安装2个应用程序.一个控制(链接在这里),一个控制(链接在这里).
我不确定它是否有其他选择,但我想知道是否可以这样做.
我找不到teamViewer使用的任何特殊权限,并且它在没有root的情况下完成所有操作.
这很奇怪,因为我已经阅读了很多地方,为了让应用程序截取屏幕截图,它必须具有root权限(或者连接到计算机并使用ADB截取屏幕截图).
怎么会这样?TeamViewer有哪些功能可以实现?
如何在没有任何特殊许可的情况下拍摄截图?这个应用程序甚至不是系统应用程序...
是不是可以做任何没有root的TeamViewer做的事情?
TeamViewer有替代品吗?
假设我有root,如何有效地远程控制或流式传输屏幕截图?