我想每隔几分钟在一项活动中更改手机的壁纸......
我在我的主要活动中使用它,这在那里工作得很好>
{{1}}
但是现在我的服务我无法使用此代码...因为它不起作用.. (不能使用getWindowManager方法) 我如何从服务类内部做同样的事情?
答案 0 :(得分:2)
但是现在在我的服务上我无法使用此代码...因为它不起作用..(不能使用getWindowManager方法)
getWindowManager()
是关于“活动”的方法,当您展开Service
时,您不在Activity
我如何从服务类内部做同样的事情?
您可以通过其他方式调用该方法:
WindowManager wm= (WindowManager) getSystemService(YOURCONTEXT.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
您也可以使用DisplayMetrics
Service
来完成此操作
DisplayMetrics metrics = getApplicationContext().getResources().getDisplayMetrics();
不要忘记在manifest.xml
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS"/>
<uses-permission android:name="android.permission.SET_WALLPAPER"/>