2012-01-29 1 views
2

"getWindowManager() 메서드가 LiveWallpaperService 유형에 대해 정의되지 않았습니다."Live Wallpaper에서 getWindowManager()는 어디에서 사용합니까?

액티비티를 만들 때이를 참조 할 방법이 없으므로 화면 너비를 onCreateEngine() 내에서 초기화되는 기본 클래스보다 먼저 높이가됩니다.

가장 먼저 호출 된 것입니다. 크기에 배경 이미지를 사용하기 전에 다른 화면 크기로 인해 고통을 겪고 있습니다.

아무도 도와 줄 수 있습니까? 나는 시도했다 :

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

운이 없다.

는 또한 시도 : 또한

"활동 유형에 해결 될 수 없다":와

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

:

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

내가 오류 "창 관리자는로 해결 될 수없는 타입 "

나는 언제나이 코드를 어디에 두어야하는지, 나는 항상 같은 오류가 발생합니다. 리 에드 폭과 높이가

onSurfaceChanged 

지능을 사용하지만 그들은 사람이 내 여기 덕분에 도움이 될 수 있습니다, 너무 늦게 초기화하고 내 응용 프로그램이 충돌?

답변

9
mContext = getBaseContext(); 
DisplayMetrics displayMetrics = new DisplayMetrics(); 
displayMetrics = mContext.getResources().getDisplayMetrics(); 
mScreenWidth = displayMetrics.widthPixels; 
mSreenHeight = displayMetrics.heightPixels; 
관련 문제