可能的重复:
Android 1.6:“android.view.WindowManager$BadTokenException:无法添加窗口 - 令牌 null 不适用于应用程序” https://stackoverflow.com/questions/2634991/android-1-6-android-view-windowmanagerbadtokenexception-unable-to-add-window
android.view.WindowManager$BadTokenException:无法添加窗口——令牌 null 不适用于应用程序
在 android.view.ViewRoot.setView(ViewRoot.java:509)
在 android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
在 android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
my code:
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);
}
如果您使用无效的上下文,通常会引发此异常。您要传递给 aaa 类的构造函数什么?如果你通过了getApplicationContext()
它可能会失败。尝试传递负责显示视图的活动的上下文(通常带有引用this
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)