Android连续点击两次按钮启动两次Activity

本文探讨了在Android应用中常见的一个问题——连续点击按钮导致Activity启动两次的BUG。作者分享了解决该问题的两种策略:1. 通过调整AndroidManifest.xml中Activity的launchMode属性,如设置为singleTop,或在代码中使用Intent.FLAG_ACTIVITY_SINGLE_TOP;2. 通过限制点击事件的间隔时间,如果两次点击间隔小于500ms则忽略第二次点击。建议优先采用第一种方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个BUG 广泛存在很多APP中  

分享个人在解决此类BUG一些想法。

一 ,通过activity的启动时间来处理此问题

1. 在 AndroidManifest.xml 中设置 Target Activity 的属性,设置它的 launchMode

关于 launchMode 的参数一共有 4 个:  

Android代码 

android:launchMode=["standard"| "singleTop" | "singleTask" | "singleInstance"]  

四种模式 大家可以百度

简单介绍就是 standard 标准模式  每次启动新的activity 也是默认模式。

singleTop 只有一个实例在堆栈顶部,意思就是有则复用,这个方法会调用activity的 onnewIntent(Intent intent);

singlTask 在堆栈中只有一个实例,有则出栈 销毁上面的activity。让自己处于顶部。

singInstance 启用一个新的栈结构,将Acitvity放置于这个新的栈结构中,并

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值