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

时间:2012-01-29 11:27:54

标签: java android live-wallpaper

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

由于我正在创建一个活动,因此无法引用它,如何在onCreateEngine()

中初始化主类之前获取屏幕宽度和高度

这是第一件事。在我使用背景图像进行尺寸测量之前,这可能会导致屏幕尺寸不同。

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

DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);

没有运气。

也尝试过:

((Activity) getContext()).getWindowManager().getDefaultDisplay().getMetrics(metrics);

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

此外:

((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE))

with:“WindowManager无法解析为类型”

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

onSurfaceChanged

Int的宽度和高度,但是他们初始化得太晚了,我的应用程序崩溃了,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:10)

mContext = getBaseContext();
DisplayMetrics displayMetrics = new DisplayMetrics(); 
displayMetrics = mContext.getResources().getDisplayMetrics();
mScreenWidth = displayMetrics.widthPixels;
mSreenHeight = displayMetrics.heightPixels;