如何从快捷方式或小工具中获取LocationOnScreen?

时间:2011-02-11 01:18:32

标签: android

当用户按下屏幕上的快捷方式并且该快捷方式启动活动时,如何获取快捷方式在屏幕上的位置?

我对小部件有同样的问题。当用户在屏幕上显示一个小部件并按下它时会触发setOnClickPendingIntent,我怎么知道屏幕小部件所在的位置?

在这两种情况下都没有View来运行View.getLocationOnScreen。

1 个答案:

答案 0 :(得分:5)

  

当用户按下屏幕上的快捷方式并且该快捷方式启动活动时,如何获取快捷方式在屏幕上的位置?

你不能,抱歉。

  

当用户在屏幕上显示小部件并按下它时会触发setOnClickPendingIntent,我怎么知道屏幕小部件所在的位置?

你不能,抱歉。

获得其中任何一项的唯一方法就是编写自己的主屏幕,在这里你可以处理快捷方式和app小部件点击。


编辑QuickContactActivity实现评论中描述的效果的方式是getSourceBounds()Intent上的方法。这个Rect可能会或可能不会在任何给定的Intent上提供,因此任何想要使用它的代码都应该能够干净地对没有这种价值的Intent作出反应。我可以看到应用小工具的基础RemoteViews使用它。在Launcher应用程序使用它的其他情况下,我遇到了一些困难。请记住,并非所有主屏幕都可以选择使用它。我为错误的原始答案道歉。