我在哪里使用动态壁纸中的getWindowManager()?

Oli*_*xon 3 java android live-wallpaper

我收到错误"方法getWindowManager()未定义类型LiveWallpaperService"

由于我正在创建一个活动,所以无法引用它,如何在onCreateEngine()中初始化主类之前获取屏幕宽度和高度

这是第一个被称为的东西.在我使用背景图像进行尺寸测量之前,这可能会导致屏幕尺寸不同.

有人可以帮我吗?我试过了:

DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
Run Code Online (Sandbox Code Playgroud)

没有运气.

还尝试过:

((Activity) getContext()).getWindowManager().getDefaultDisplay().getMetrics(metrics);
Run Code Online (Sandbox Code Playgroud)

我收到错误:"活动无法解析为类型"

也:

((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE))
Run Code Online (Sandbox Code Playgroud)

with:"WindowManager无法解析为类型"

无论我尝试什么,我在哪里放置这些代码我总是得到同样的错误,我尝试使用

onSurfaceChanged
Run Code Online (Sandbox Code Playgroud)

Int的宽度和高度,但他们初始化太晚,我的应用程序崩溃,谁能帮助我在这里谢谢?

小智 10

mContext = getBaseContext();
DisplayMetrics displayMetrics = new DisplayMetrics(); 
displayMetrics = mContext.getResources().getDisplayMetrics();
mScreenWidth = displayMetrics.widthPixels;
mSreenHeight = displayMetrics.heightPixels;
Run Code Online (Sandbox Code Playgroud)