首页 文章

Android:无法添加窗口 - 令牌null不适用于应用程序[重复]

提问于
浏览
0

可能重复:Android 1.6:“android.view.WindowManager $ BadTokenException:无法添加窗口 - 令牌null不适用于应用程序”

android.view.WindowManager $ BadTokenException:无法添加窗口 - 令牌null不适用于android.view.WindowManagerImpl.addView(WindowManagerImpl.java:)的android.view.ViewRoot.setView(ViewRoot.java:509)上的应用程序 . 177)在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)

我的代码:

public class aaaa extends View {
  private WindowManager mWindowManager;
 public aaaa(Context context) {
  super(context);
 }

@Override
protected void onDraw(Canvas canvas) {
  canvas.drawBitmap(BitmapFactory.decodeResource(this.getResources(), R.drawable.icon), 0, 0, null);
  super.onDraw(canvas);
 }

 @Override
 public boolean onTouchEvent(MotionEvent event) {
  ddd();
  return super.onTouchEvent(event);
 }

 void ddd(){
     mWindowManager = WindowManagerImpl.getDefault();

        WindowManager.LayoutParams lp = new LayoutParams(50,50);
        lp.x = 50;
        lp.y = 50;

        mWindowManager.addView(this, lp);
   }

1 回答

  • 6

    如果使用无效的上下文,通常会抛出此异常 . 你传给你的aaa班的构造函数是什么?如果您通过 getApplicationContext() ,它可能会失败 . 尝试传递负责显示视图的活动的上下文(通常使用引用 this ) .

相关问题