当前位置: 首页 > 知识库问答 >
问题:

无法添加窗口标记android。操作系统。BinderProxy@41b70320无效;你的活动正在进行吗?

孔礼骞
2023-03-14

我正试图开发一款应用程序,但当我按下“后退”按钮时,系统显示无法添加窗口标记android。操作系统。BinderProxy@41b70320无效;你的活动正在进行吗?我不明白,我该怎么解决?我的对话框是用AsyncTask我的代码创建的:类(它不完整,因为它非常大)

 public class VistaJuego extends View {


Drawable drawableFaba,drawableFabaMinera,drawableFabaAstur, drawableBotellasAbajo,drawableBotellasArriba,aux,botellaRota;
Grafico faba;
Vector<Grafico> botellasAbajo,botellasArriba;
int numeroBotellas = 2;
static int PERIODO_PROCESO = 50;
ThreadJuego juego = new ThreadJuego();
ThreadFaba hiloFaba= new ThreadFaba();
int alto,ancho,altoPantalla;//alto del canvas
MainActivity main;
Boolean ifmusica,ifvibracion;
Activity activity;
Async a;
public void gestionarChoque(Grafico elementofaba,Grafico elementoBotella){

    boolean guardado=false;
    if((elementofaba.getPosX()+elementofaba.getAncho()>=elementoBotella.getPosX()+15)){
        juego.detener();
        hiloFaba.detener();
        if(ifmusica==true){
            sonidoJuego.stop();
            golpe.start();
        }
        if(ifvibracion==true){
            v.vibrate(200);
        }


        elementoBotella.setDrawable(botellaRota);
        if(guardado==false){
            bd.guardarPuntuacion(marcador.getPuntos()+1, faba.hacerFecha());
            guardado=true;
        }   

        a= new Async((Activity) getContext());
        a.execute();

        Log.i("Guardó de VistaJuego", "guardado abajo");
    }

活动呢

public class AngryJuego extends Activity {

RelativeLayout relative;
public int anchoPantalla, altoPantalla;
VistaJuego vistafaba;
SharedPreferences sharedPref;
Boolean brillo;


@Override
protected void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.angry_juego);
    WindowManager.LayoutParams layout = getWindow().getAttributes();
    Display display = getWindowManager().getDefaultDisplay();
    altoPantalla=display.getHeight();

    RelativeLayout relative = (RelativeLayout)findViewById(R.id.relative);
    vistafaba=(VistaJuego)findViewById(R.id.faba);
    relative=(RelativeLayout)findViewById(R.id.relative);
    vistafaba.setAltoPantalla(altoPantalla);
    }


}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK)){


        Intent i= new Intent(this,MainActivity.class);
        finish();
        startActivity(i);


    }

    return super.onKeyDown(keyCode, event);
}

}

请帮助我是为了我的工作,我什么都不明白......

共有1个答案

别帅
2023-03-14

问题出在AsyncTask类中,因为“if”不正确。有了这段代码,它就可以工作了。

public class Async extends AsyncTask<Void,Void,Void>{


    AlertDialog.Builder builder;
    Activity contexto;
    WeakReference<Activity> activityWeakRef;

    public Async(Activity context) {
        activityWeakRef = new WeakReference<Activity>(context);
        contexto=context;
    }

    @Override
    protected Void doInBackground(Void... params) {

        return null;

    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();

    }

    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        if (activityWeakRef != null  && !activityWeakRef.get().isFinishing()) {
            builder = new AlertDialog.Builder(activityWeakRef.get());
                    .setPositiveButton(R.string.si,
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog,
                                        int id) {
                                    Intent i= contexto.getIntent();
                                    contexto.finish();
                                    contexto.startActivity(i);

                                }
                            })
                    .setNegativeButton(R.string.no,
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog,
                                        int id) {

                                    Intent i= new Intent(contexto,MainActivity.class);
                                    contexto.startActivity(i);
                                }
                            });
            builder.create().show();
        }
    }
 类似资料:
  • 我试着用twitter4j连接到推特。但是它显示了标题所说的错误。 下面是日志: 错误行是 我尝试了无法添加窗口令牌android.os.BinderProxy无效;您的活动正在运行吗?介绍。但是它对我的Android版本来说太旧了。

  • 我有一个登录屏幕。当用户登录时切换到。我想在活动打开时显示关于用户信息的弹出窗口消息。但是我得到一个“无法添加窗口——令牌null无效;您的活动正在运行吗?”错误。我有一个名为的弹出布局。我正在为这个项目使用视图绑定。我如何解决它?

  • 我想将导航抽屉图标添加到此导航抽屉活动。现在我已经编辑了代码,但仍然现在错误应用程序在启动时停止

  • 问题内容: 我正在尝试创建系统覆盖图。但是我一直在“拒绝权限”。我正在使用SDK版本23。 我的清单文件: 我用来创建叠加层的代码: 问题答案: 首先,没有名为的权限。是的。 其次,如果您的年龄为23岁或更高,并且您正在运行Android 6.0+设备,则您的应用一开始将不会获得此权限。致电查看您是否具有权限,如果没有,则用于将用户引导到“设置”。

  • 我刚刚开始使用Libgdx来练习制作游戏,我使用网站上提供的项目创建. jar来创建初始项目。但是在Android项目中出现了一个错误,它说: Android操作系统。无法解析捆绑包。 我正在使用Eclipse for Java IDE。如果将光标放在红色下划线的AndroidApplication上,则建议配置构建路径。我相信我已经安装了Android SDK,因为它曾经在一个简单的示例项目的不

  • 我需要从 MainActivity 向 Android Google 地图(片段)添加标记 这是我的代码; 我想在这里添加一个标记: 所有这些都是因为我想从我的主要活动中与我的地图进行交互,其中我有一些按钮和编辑文本 主要活动 这是它的样子,已经有了一个标记,但是我需要在MainActivity中设置它,而不是从map activity中调用它