안드로이드 개발 질문/답변
(글 수 45,052)
focus를 잃고 pause된 activity를 화면에 다시 뜨게 하는 방법은 없나요?
홈키를 눌러도 화면이 안꺼지게 할라고 하는데
홈키는 조작이 안된다니까요..
2011.06.02 18:44:17
C:\Documents and Settings\박건\바탕 화면\리플렉션.txt
try { Class clsWindow = Class.forName("android.view.WindowManagerImpl"); Method m = clsWindow.getMethod("getDefault", null); final WindowManager wm = (WindowManager)m.invoke(null, null); final TextView tv = new TextView(this); tv.setText("aaa"); final WindowManager.LayoutParams params = new WindowManager.LayoutParams(); params.height = WindowManager.LayoutParams.WRAP_CONTENT; params.width = WindowManager.LayoutParams.WRAP_CONTENT; params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; params.format = PixelFormat.TRANSLUCENT; params.type = WindowManager.LayoutParams.TYPE_TOAST; params.setTitle("Toast"); wm.addView(tv, params); mHandler.postDelayed(new Runnable() { public void run() { // TODO Auto-generated method stub wm.removeView(tv); } }, 3000); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); }
Toast 처럼 최상위로 만드시면 될것 같은데요..
리플렉션 사용해서 하면 가능해집니다.~