API Demo의 List9(Overlay)에 있는 예제를 적용하려고 합니다

어떤 뷰에 TouchListener를 구동하였을 때 가운데에 간단히 글자를 나타내는것인데요

계속 BadTokenException이 나타나네요 ㅠㅠ

 

android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@4058c0a8 is not valid; is your activity running?

 

해당 액티비티가 실행중이 아니다라고 말하는 것 같은데요 어떻게 해결해야할지 모르겠습니다

현재 어플은 두개의 Tab 아래에 액티비티가 구현되어 있구요 액티비티의 소스는 대략 다음과 같습니다.

 

 mWindowManager = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
mHandler.post(new Runnable() {
            public void run() {
                mReady = true;
                WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
                        LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,
                        WindowManager.LayoutParams.TYPE_APPLICATION,
                        WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
                                | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
                        PixelFormat.TRANSLUCENT);
                Log.e(TAG, "mDialogText : " + mDialogText.getText());
                mWindowManager.addView(mDialogText, lp);
            }
        });
if (mReady) {
                    if (!mShowing) {
                        mShowing = true;
                        mDialogText.setVisibility(View.VISIBLE);
                    }
                    mDialogText.setText("안녕하세요");
                    mHandler.removeCallbacks(mRemoveWindow);
                    mHandler.postDelayed(mRemoveWindow, 3000);
                }

에러가 나는 부분은 mWindowManager.addView(mDialogText, lp)입니다.

윈도우를 추가할 수 없다는 얘긴데 이거 시간 엄청 소비했습니다 ㅠㅠ

검색을 이리저리 해봐도 저의 문제와는 조금 다른듯 하더군요

단순히 List9(Overlay)의 소스를 가져왔을 뿐인데요

고수님들 부탁드리겠습니다