Android 服务屏幕大小

Android 服务屏幕大小,android,service,Android,Service,我知道如何使用getWindowManager().getDefaultDisplay().getMetrics(metrics)获取活动的屏幕大小,但如何获取服务的屏幕大小?如果我需要更多解释,请告诉我。这是什么意思服务的屏幕大小 服务是应用程序的后台进程,它没有UI。(因此没有屏幕大小)您可以在 或者,如果我答对了,您希望通过服务访问屏幕大小 当应用程序从第一个活动开始时,一个技巧就是将屏幕大小存储在首选项中。然后在任何地方使用它,即使应用程序在后台。因为屏幕大小不会改变 编辑 在看到您的图

我知道如何使用
getWindowManager().getDefaultDisplay().getMetrics(metrics)
获取
活动的屏幕大小
,但如何获取
服务的屏幕大小
?如果我需要更多解释,请告诉我。

这是什么意思服务的屏幕大小

服务是应用程序的后台进程,它没有UI。(因此没有屏幕大小)您可以在

或者,如果我答对了,您希望通过服务访问屏幕大小

当应用程序从第一个活动开始时,一个技巧就是将屏幕大小存储在首选项中。然后在任何地方使用它,即使应用程序在后台。因为屏幕大小不会改变

编辑

在看到您的图像后,如果它是一个对话框,您可以使用下面的方法使您的对话框全屏显示

Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen)

在您的服务中尝试以下内容:

WindowManager window = (WindowManager) getSystemService(Context.WINDOW_SERVICE); 
Display display = window.getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();


您想从服务获取屏幕大小吗?我想获取设备的屏幕大小。我想在服务类中执行此操作。找到了我的答案。后来我意识到我的措辞有多么糟糕,非常抱歉浪费了你的时间,呵呵。可能的副本是一个副本。此帖子可以删除。这是我的应用程序的图片。我正在使用一个服务类来允许我的浮动ui覆盖。对不起,这不是我想要的,呵呵,但我可能只是用词不对。我确实找到了答案,不过还是要谢谢你!当时的问题是什么?您是如何解决的?从服务类内部,我想了解屏幕的大小。您可以使用
黑客
行解决方案谢谢。我觉得没有尝试使用getSystemService真的很傻。我查了一下,但找不到任何用法xD,因为我没有编码背景。我只是研究一下。你能推荐一些我能读到的东西吗?我没有考虑的是通知栏。我只得到通知栏下方所有内容的屏幕大小。你能进一步帮助我吗?这可能会有帮助:link的解决方案应该可以工作。这是从我的回答中的代码服务中得到的
setscrensize:1080--------1794
,这是从我的示例应用程序中的上面链接中的代码服务中得到的
setscrensize:1080--------1920
,如果上述解决方案对您有效,请接受答案。
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
DisplayMetrics displayMetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;