实现Android Activity只允许开一个Activity
1. 流程图
graph TB
start(开始)
check(检查是否已存在Activity)
finish(结束)
start --> check
check --> |已存在Activity| finish
check --> |不存在Activity| finish
2. 步骤及代码示例
步骤1:在BaseActivity中添加静态变量isActivityAlive
public class BaseActivity extends AppCompatActivity {
protected static boolean isActivityAlive = false;
}
步骤2:在onCreate方法中设置isActivityAlive为true,在onDestroy方法中设置isActivityAlive为false
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (isActivityAlive) {
finish(); // 关闭当前Activity
return;
}
isActivityAlive = true;
// 其他初始化操作
}
@Override
protected void onDestroy() {
super.onDestroy();
isActivityAlive = false;
}
步骤3:在AndroidManifest.xml中注册BaseActivity
<application ...>
<activity android:name=".BaseActivity"></activity>
</application>
3. 类图
classDiagram
BaseActivity <|-- YourActivity
BaseActivity : + isActivityAlive
BaseActivity : + onCreate()
BaseActivity : + onDestroy()
4. 饼状图
pie
title Android Activity只允许开一个Activity实现步骤
"步骤1" : 1
"步骤2" : 1
"步骤3" : 1
结尾
通过以上步骤,你可以实现Android Activity只允许开一个Activity的功能。这样可以确保在应用程序中始终只有一个指定的Activity处于活动状态,避免了多个相同Activity同时打开的情况,提升了用户体验。希望以上内容对你有所帮助,祝你在Android开发中越来越进步!