Android PopUpWindow badTokenException

Android PopUpWindow badTokenException,android,popupwindow,Android,Popupwindow,我有这个问题 无法添加窗口--令牌null无效;你的活动是什么 跑步致命异常:android.view.WindowManager$BadTokenException 我试图通过下面的代码来解决这个问题: findViewById(R.id.root_view) .post(new Runnable() { public void run() { updatePopup(); }}); 但是,我有时也会犯这样的错误 我应该怎么做?如果(!((活动)上下文).i

我有这个问题

无法添加窗口--令牌null无效;你的活动是什么 跑步致命异常:android.view.WindowManager$BadTokenException

我试图通过下面的代码来解决这个问题:

findViewById(R.id.root_view)
.post(new Runnable() {
    public void run() {   

       updatePopup();

}});

但是,我有时也会犯这样的错误

我应该怎么做?

如果(!((活动)上下文).isFinishing())
则使用
mpopup.showAtLocation
和其他方法。您的活动已完成或被破坏,这就是您收到上述问题的原因。
private void updatePopup(final String link) {

    final View popUpView = LayoutInflater.from(Splash.this).inflate(R.layout.update_popup, null);
    final PopupWindow mpopup = new PopupWindow(popUpView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT, true);

   //...

    mpopup.showAtLocation(popUpView, Gravity.CENTER, 0, 0);
    mpopup.setOutsideTouchable(true);
    mpopup.setTouchable(true);
    mpopup.setBackgroundDrawable(new BitmapDrawable());
    mpopup.setAnimationStyle(android.R.style.Animation_Dialog);

}