在Android中,Single Instance(单实例)是指应用程序的某个Activity在同一时间只能在一个进程中运行
- 在AndroidManifest.xml文件中,为要设置为单实例的Activity添加以下属性:
- 在您的Activity类中,重写
onNewIntent()
方法。这个方法会在Activity已经存在的情况下,当用户再次启动该Activity时调用。在这个方法中,您可以处理新的Intent并执行相应的操作。
@Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); // 处理新的Intent }
- 当您需要启动单实例Activity时,使用以下代码:
Intent intent = new Intent(this, YourSingleInstanceActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 添加此标志以允许在非活动堆栈中启动新实例 startActivity(intent);
这样,当您启动单实例Activity时,它将始终在新的进程中运行,即使它已经在后台运行。同时,它不会与其他Activity共享进程,从而确保数据的隔离和安全性。