android怎么在一个activity中finish掉另外一个activity

 我来答
archyly
推荐于2018-03-12 · TA获得超过1318个赞
知道小有建树答主
回答量:389
采纳率:50%
帮助的人:427万
展开全部

假如A,B两个Activity。 

现在因为不清楚你的需求,我只能假设两种方法。

第一种

A 跳转到B.这种情况下如何关闭 A。在A跳转前。  A.this.finish();

然后再执行跳转。

第二种

就是必须的在B中结束A。

public class ActivityManagerApplication extends Application {

    private static Map<String,Activity> destoryMap = new HashMap<>();

    private ActivityManagerApplication() {
    }

    /**
     * 添加到销毁队列
     *
     * @param activity 要销毁的activity
     */

    public static void addDestoryActivity(Activity activity,String activityName) {
        destoryMap.put(activityName,activity);
    }
/**
*销毁指定Activity
*/
    public static void destoryActivity(String activityName) {
       Set<String> keySet=destoryMap.keySet();
        for (String key:keySet){
        if(key.equals(activityName)){
            destoryMap.get(key).finish();
            }
        }
    }
}

 在A创建的时候,调用 add方法把当前的A添加进去。

当需要结束的时候,在B中调用 destoryActivity方法,指定添加A时的Key值来finish 掉A

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式