在Java中,我们可以使用JNA或JNI从本机窗口中获取突出显示的文本。例如,我们可以使用 Monitor text that is highlighted
使用Android SDK有没有办法做同样的事情?
答案 0 :(得分:3)
欢迎您使用辅助功能API编写辅助功能服务并观察文本选择事件。这将要求用户同意允许您的应用监视所有用户输入,这将使您的应用程序不那么受欢迎。
否则,出于明显的隐私和安全原因,这是不可能的。
答案 1 :(得分:0)
使用纯粹的SDK而不利用安全漏洞是不可能的。 有一个简单的解释,为什么这是不可能的。
第一个原因是使用Linux的用户组和权限系统以沙盒方式在操作系统中执行Android应用程序的方式。 Android上的每个正在运行的进程和应用程序都拥有自己的用户和组以及仅访问这些资源的权限。因此,在某种程度上,他们无法与其他应用程序进行通信(或者捕获用户当前正在使用的内容。 应用程序与其他人通信的唯一方法是使用绑定程序IPC,它必须首先通过活动管理器。据我所知,没有明确的方法来做到这一点。请注意,这是在Android的常规权限系统下从Linux继承的一层保护。
除此之外,从Android 5(棒棒糖)开始,在此层添加现在强制执行的selinux策略,这些策略不允许应用程序域访问处理图形的其他域,mediaserver和其他一些域,我不会输入由于该问题的复杂性和与问题的相关性,本主题更多,只要知道这些是一些非常安全的机制,可以防止可能意味着安全漏洞的行为。
有可能吗?是的,但是它会利用漏洞,但这是另一个话题,我应该建议在网上搜索关于android中漏洞的论文。