首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Android动态关闭某Activity

Android动态关闭某Activity

作者头像
计蒙不吃鱼
发布2025-06-12 15:49:19
发布2025-06-12 15:49:19
2370
举报
文章被收录于专栏:Android开发Android开发

博主由于最近为了弄软著权,已经很久没更新了,恰巧最近学弟问了我这个问题,就写篇博客

在Android中,栈是Activity存放的位置,所以此文章得在了解四种启动模式和栈的特点下阅读。废话不多说

需求:在一个Activity中关闭某个Activity。

解决方式:网上有许多的方法,而博主喜欢用结合广播的这种。

将当前Activity命名为MainActivity; 要被关闭的Activity命名为ElseActicity;

代码语言:javascript
复制
 public static final String ACTIVITY_MARK =“BoreSeven”;

工具类:

代码语言:javascript
复制
   public static class BroadcastUtils {
        /**
         * 发送finish页面的广播
         */
        public static void sendFinishActivityBroadcast(Context context) {
            Intent intent = new Intent(ACTIVITY_MARK);
            context.sendBroadcast(intent);

        }
    }

1.在ElseActivity中

代码语言:javascript
复制
   private FinishActivityRecevier mRecevier;

    protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
        setContentView(R.layout.else_activtiy);
      
        //广播
        mRecevier = new FinishActivityRecevier();
        registerFinishReciver();

    }
    //动态注册广播
    private void registerFinishReciver() {
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction(ACTIVITY_MARK);

        registerReceiver(mRecevier, intentFilter);
    }

    private class FinishActivityRecevier extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            //根据需求添加自己需要关闭页面的action
            if (ACTIVITY_MARK.equals(intent.getAction())) {
                HideSortActivtiy.this.finish();
            }
        }
    }
     //在Activity销毁时移除广播
    @Override
    protected void onDestroy() {
        if (mRecevier != null) {
            unregisterReceiver(mRecevier);
        }
        super.onDestroy();
    }

2.在MainActivity中调用工具类中方法:

代码语言:javascript
复制
 BroadcastUtils.sendFinishActivityBroadcast(this);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-06-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 博主由于最近为了弄软著权,已经很久没更新了,恰巧最近学弟问了我这个问题,就写篇博客
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档