Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何监控Android中其他已打开应用程序中突出显示的文本(或选定文本)_Java_Android - Fatal编程技术网

Java 如何监控Android中其他已打开应用程序中突出显示的文本(或选定文本)

Java 如何监控Android中其他已打开应用程序中突出显示的文本(或选定文本),java,android,Java,Android,在Java中,我们可以使用JNA或JNI从本机窗口获取突出显示的文本。例如,我们可以使用 使用Android SDK有没有办法做同样的事情???欢迎您使用辅助功能API编写辅助功能服务并查看文本选择事件。这将要求用户同意允许你的应用程序监视所有用户输入,这将使你的应用程序不那么受欢迎 否则,出于明显的隐私和安全原因,这是不可能的。纯粹使用SDK而不利用安全漏洞是不可能的。 有一个简单的解释为什么这是不可能的 第一个原因是Android应用程序在操作系统中以沙盒的方式使用linux的用户组和权限

在Java中,我们可以使用JNA或JNI从本机窗口获取突出显示的文本。例如,我们可以使用


使用Android SDK有没有办法做同样的事情???

欢迎您使用辅助功能API编写辅助功能服务并查看文本选择事件。这将要求用户同意允许你的应用程序监视所有用户输入,这将使你的应用程序不那么受欢迎


否则,出于明显的隐私和安全原因,这是不可能的。

纯粹使用SDK而不利用安全漏洞是不可能的。 有一个简单的解释为什么这是不可能的

第一个原因是Android应用程序在操作系统中以沙盒的方式使用linux的用户组和权限系统执行。 Android上运行的每个进程和应用程序都有自己的用户和组,并且只有访问这些资源的权限。因此,在某种程度上,他们无法与其他应用程序进行通信(或捕获用户目前正在使用的内容)。 应用程序与其他应用程序通信的唯一方式是使用活页夹IPC,它必须首先通过活动管理器。据我所知,没有一种明确的方式可以做到这一点。请注意,这是从linux继承的一层保护,低于安卓常用的权限系统

除此之外,从Android 5(棒棒糖)开始将现在强制实施的selinux策略添加到这一层,该策略不允许应用程序域访问处理图形的其他域、mediaserver和其他一些域,由于其复杂性和与问题的相关性,我将不在本主题中进行更多的讨论,只需知道这些是一些非常安全的机制,可以防止可能发生的操作这并不意味着安全漏洞


有可能吗?是的,但是它涉及到利用漏洞,但这是另一个主题,因此我建议在web上搜索有关android漏洞的文章。

意味着没有任何合法的方式获取所选文本?不,这更多的是对用户构建的安全性破坏。这在植根的egineerin上是可能的g构建,因为您可能会禁止所有这些安全层。但这将是一个更容易受到攻击的设备。这意味着没有任何合法的方式来获取所选文本?@HamreenAhmad:accessibility API当然是“合法的”。它们非常可怕,因此用户可能会因此选择不使用你的应用程序。关于可访问性框架,这是真的,但如果我没有弄错的话,它应该只听编程为“可访问”的应用程序,而流行的应用程序可能是这样。Checkout@Jorch914:“但如果我没有弄错,它应该只听编程为“可访问”的应用程序。”“可访问”,流行的应用程序可能如此”--默认情况下,所有库存Android小部件基本上都是可访问的。视觉或运动障碍者使用这些小部件的方便程度将取决于应用程序编写的好坏,自定义小部件需要特定的可访问性支持。@UMESH0492:我认为这是可能的: