안드로이드 개발 질문/답변
(글 수 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 처럼 최상위로 만드시면 될것 같은데요..
리플렉션 사용해서 하면 가능해집니다.~