Android 如何获取窗口(如对话框、弹出菜单…)

Android 如何获取窗口(如对话框、弹出菜单…),android,android-activity,Android,Android Activity,我正在处理库,它应该会发现是否有非活动窗口,例如对话框、弹出菜单。。。。在屏幕上。我试过这个 ((Activity)context).getWindow() 但它总是返回主活动窗口,而不是我想要的 有没有办法在屏幕上获取或激活窗口?您的代码正在获取活动的窗口,因为您正在对活动对象调用getWindow方法 取而代之的是Activitycontext.getWindow try dialog.getWindow您的代码正在获取活动的窗口,因为您正在对活动对象调用getWindow方法 改为Act

我正在处理库,它应该会发现是否有非活动窗口,例如对话框、弹出菜单。。。。在屏幕上。我试过这个

((Activity)context).getWindow()
但它总是返回主活动窗口,而不是我想要的


有没有办法在屏幕上获取或激活窗口?

您的代码正在获取活动的窗口,因为您正在对活动对象调用getWindow方法


取而代之的是Activitycontext.getWindow try dialog.getWindow

您的代码正在获取活动的窗口,因为您正在对活动对象调用getWindow方法


改为Activitycontext.getWindow try dialog.getWindow

必须指定所需的活动而不是活动

像这样,

((Activity)context).getWindow()


也许“上下文”可以更改为:“this”或stg。

您必须指定所需的活动,而不是活动

像这样,

((Activity)context).getWindow()


也许“context”可以更改为:“this”或stg。

您可以使用instanceof检查上下文是否为活动,然后调用context.getWindow

if(context instanceof Activity)
{
  Window window = ((Activity)context).getWindow();
}

注意:活动和对话框共享同一个窗口,因此在对话框上调用getWindow将返回相同的对象。

您可以使用instanceof检查上下文是否为活动,然后调用context.getWindow

if(context instanceof Activity)
{
  Window window = ((Activity)context).getWindow();
}
注意:活动和对话框共享同一个窗口,所以在对话框上调用getWindow将返回相同的对象