Android权限

Android权限,android,ontouchlistener,android-permissions,Android,Ontouchlistener,Android Permissions,首先,我必须说我对安卓系统还不熟悉 我是一名理学硕士的学生,为了完成我的理学硕士论文,我必须开发一个系统来收集触摸屏上的所有用户输入,而不管正在使用的是什么应用程序,而且必须在后台完成 目标是使用该数据建立用户配置文件,然后应用一种算法,不断将新输入与旧输入进行比较,以授予合法用户身份验证 换句话说,我必须开发一个touchlogger,但不是出于恶意目的 我的问题是:用户在安装过程中接受的初始权限是否足以允许我的应用程序从其他应用程序收集触摸输入,或者它会因为沙箱而被阻止? 注意:系统将用于常

首先,我必须说我对安卓系统还不熟悉

我是一名理学硕士的学生,为了完成我的理学硕士论文,我必须开发一个系统来收集触摸屏上的所有用户输入,而不管正在使用的是什么应用程序,而且必须在后台完成

目标是使用该数据建立用户配置文件,然后应用一种算法,不断将新输入与旧输入进行比较,以授予合法用户身份验证

换句话说,我必须开发一个touchlogger,但不是出于恶意目的

我的问题是:用户在安装过程中接受的初始权限是否足以允许我的应用程序从其他应用程序收集触摸输入,或者它会因为沙箱而被阻止?

注意:系统将用于常规设备中的常规人员,因此不能选择在设备上生根

谢谢你的帮助


这是不可能的,尤其是在新版本的Android中


这是因为即使有系统覆盖允许您在任何其他应用程序上显示聊天头之类的内容,您也无法捕获触摸事件并将其传递给下面的应用程序。因此,即使您成功地捕获了事件,最终也会使设备变得无用,因为在您停留的时间内没有任何东西可以工作。

我真的希望,没有root权限,这是不可能的;)有趣的问题是,我认为使用服务在没有根权限的情况下是可能的。Facebook messenger聊天头的功能是能够覆盖当前正在运行的任何活动,我无法想象将这个概念抽象为触摸检测会太困难。@KentHawkings:那些“聊天头”拦截并消费触摸事件。正如Raghav Sood的回答所指出的,使用这些触摸事件将禁止底层应用程序获取它们,从而使设备变得无用。这种“窃听”攻击在旧版本的Android(1.x/2.x)上是可能的,但谢天谢地,现在已经不可能了。无论如何,这需要作为修改后的Android平台的一部分进行部署(不仅仅是为了读取事件,还为了能够在全系统范围内对身份验证决策采取行动),因此,您可能应该从一个AOSP构建或从中派生的一个社区ROM项目开始。“我正在寻找类似的东西来进行数据收集,但没有根”——幸运的是,出于隐私和安全原因,这是不可能的。