Android 从另一个活动中取消弹出窗口

Android 从另一个活动中取消弹出窗口,android,android-intent,Android,Android Intent,我正在编写一个有活动的应用程序,我正在启动一个弹出窗口(我在另一个类中实现的弹出窗口不是活动)。 在我的主要活动中,我有代码在发生事件时显示弹出窗口。我成功地做到了这一点。但当我收到另一个事件时,我需要取消弹出窗口。(我将仅在主要活动中获得此事件)。 当我收到事件时,如何从主活动完成弹出窗口?在创建弹出窗口(对话框)的类中创建一个公共方法,并在其中写入 public void dismissDialog(){ dialog.dismiss(); } 然后,每当您想要删除对话框时,调用此

我正在编写一个有活动的应用程序,我正在启动一个弹出窗口(我在另一个类中实现的弹出窗口不是活动)。 在我的主要活动中,我有代码在发生事件时显示弹出窗口。我成功地做到了这一点。但当我收到另一个事件时,我需要取消弹出窗口。(我将仅在主要活动中获得此事件)。
当我收到事件时,如何从主活动完成弹出窗口?

在创建弹出窗口(对话框)的类中创建一个公共方法,并在其中写入

public void dismissDialog(){
    dialog.dismiss();
}

然后,每当您想要删除对话框时,调用此方法…

如果此弹出窗口是一个对话框,您可以使用它


dialog.cancel()

您好,我的主要活动和弹出类在不同的包中。那我该怎么做呢?那为什么会有影响呢?您可以访问显示弹出窗口的方法。。。然后您还可以访问该方法来解除它…public void showMessage(Context c,final String title,final String s){mContext=c;final AlertDialog.Builder aBuilder=new AlertDialog.Builder(c);aBuilder.setTitle(title);aBuilder.setIcon(R.drawable.ic_启动器);//aBuilder.setIcon(R.drawable.icon);aBuilder.setMessage(s);嗨,我的主要活动和弹出类在不同的包中。那么我该怎么做呢。public void showMessage(Context c,final String title,final String s){mContext=c;final AlertDialog.Builder aBuilder=new AlertDialog.Builder(c);aBuilder.setTitle(title);aBuilder.setIcon(R.drawable.ic_启动器);//aBuilder.setIcon(R.drawable.icon);aBuilder.setMessage(s);aBuilder.setPositiveButton(“Ok”,new DialogInterface.OnClickListener(){@Override public void onClick(final DialogInterface dialog,final int which){dialog.disease();aBuilder.setPositiveButton(“确定”,新建DialogInterface.OnClickListener(){@Override public void onClick(最终DialogInterface对话框,最终int),其中){dialog.disease();mmediplayer.stop();//r.stop();showNotification(mContext);}}};dlg=aBuilder.show();MyThread runnable=new MyThread();Thread Thread=new Thread(runnable);Thread.start();setDlg(dlg);//dlg.setcanceledontouchout(false);t=new Timer();t.schedule(new TimerTask(){public void run()){dismisspop();}},30000);公共静态void dismisspop(){dlg.dismise();mmediplayer.stop();//r.stop();System.out.println(“~~~~~~~~~~~~~~~$”);showNotification(mContext);t.cancel();
final AlertDialog.Builder aBuilder;

//constructor(Context c){//mContext = c;}

public void showMessage(final String title, final String s) { 

        aBuilder = new AlertDialog.Builder(mContext); 
        aBuilder.setTitle(title); 
        aBuilder.setIcon(R.drawable.ic_launcher); 
        // aBuilder.setIcon(R.drawable.icon); 
        aBuilder.setMessage(s);
    }

public void dismissMessage() { 
        aBuilder.dismiss();
    }