如何按位置获取应用的名称?

时间:2015-09-22 13:37:26

标签: java android reverse-engineering

我只是在创建一个快速应用程序,其中主页上会有一个浮动图标,用户只需将该图标拖放到应用程序,然后它就会显示一个警告窗口。

我知道如何使用一些数学和窗口管理器创建浮动图标但不知道我应该如何获得浮动图标被删除的应用程序的名称。我已经想到了一些存档的方法,但不知道如何实现它....

通过ACTION_UP触发器获取触摸位置,然后通过将应用程序与其位置进行比较来检查应用程序的位置。

但是这样有一个问题,因为我不知道如何在主页上找到启动图标的位置。

帮我归档此任务。请告诉我如何在主页上获得启动图标(如facebook,google play)的位置。如果你可以建议我采用其他方法,那将是非常有帮助的。

  

我知道这可以做到因为techcrunch黑客马拉松的获胜者   做了同样的申请。一个简短的视频可以在这里找到   你可能想看的情况,   http://techcrunch.com/2015/09/20/disrupt-sf-2015-hackathon-winners/

1 个答案:

答案 0 :(得分:1)

  

我不知道如何在主页上找到启动图标的位置。

除了可访问性API之外,这通常是不可能的。

请记住,有>正在使用10亿台Android设备。这些模型涵盖数千种设备模型,代表数百或数千个主屏幕实现。用户还可以安装第三方主屏幕实施(例如,从Play商店)并使用它们。

不要求主屏幕具有符合您期望的“启动图标”。例如,我可以编写一个主屏幕,其应用程序启动器由文本超链接组成。或者,我可以编写一个专门用于外部键盘的主屏幕,其中启动应用程序由按键而不是图标触发。

没有要求主屏幕具有某种API,在该主屏幕的某个任意部分上给定一些X / Y坐标,会告诉您一个应用程序,该应用程序由该X / Y坐标处的可视内容表示

欢迎您尝试使用辅助功能API在当前屏幕上的所需X / Y坐标处查找窗口小部件的详细信息。但是,从那里开始,您必须猜测这是否是一个启动器图标,如果是,它将代表什么应用程序。除了您硬编码的特定方案之外,此方法可能不可靠。根据TechCrunch网站上的散文,硬编码是您引用的团队似乎所做的。