当用户按下屏幕上的快捷方式并且该快捷方式启动活动时,如何获取快捷方式在屏幕上的位置?
我对小部件有同样的问题。当用户在屏幕上显示一个小部件并按下它时会触发setOnClickPendingIntent,我怎么知道屏幕小部件所在的位置?
在这两种情况下都没有View来运行View.getLocationOnScreen。
答案 0 :(得分:5)
当用户按下屏幕上的快捷方式并且该快捷方式启动活动时,如何获取快捷方式在屏幕上的位置?
你不能,抱歉。
当用户在屏幕上显示小部件并按下它时会触发setOnClickPendingIntent,我怎么知道屏幕小部件所在的位置?
你不能,抱歉。
获得其中任何一项的唯一方法就是编写自己的主屏幕,在这里你可以处理快捷方式和app小部件点击。
编辑:QuickContactActivity
实现评论中描述的效果的方式是getSourceBounds()
,Intent
上的方法。这个Rect
可能会或可能不会在任何给定的Intent
上提供,因此任何想要使用它的代码都应该能够干净地对没有这种价值的Intent
作出反应。我可以看到应用小工具的基础RemoteViews
使用它。在Launcher应用程序使用它的其他情况下,我遇到了一些困难。请记住,并非所有主屏幕都可以选择使用它。我为错误的原始答案道歉。