如何防止多次打开Activity?

在我的应用程序图标中有一个常见的菜单。点击一个图标将开始一个活动。如果一个活动正在运行,如何预防它被多次点击重新开始?还有我可以将一个活动的状态设置为onPause,总是让它在前台显示吗?

使用

intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);

开始执行Activity.

如果设置在一个Intent传递给Context.startActivity(),这个标志将导致发起的Activity被带到前面已经开始运行的历史堆栈。

android:launchMode="singleTask"
加上这句,每次打开如果已有此activity,就会打开原来的实例,否则会创建新的activity

在你的activity中创建下面一个实例,这个activity就不会被多次打开。

    Class ExampleA extends Activity {
     public static Activity classAinstance = null;

     @Override
     protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        classAinstance = this;
    }

}

如果你想检查这个activity是否是多次打开,再添加这个if语句用做检查。

if(ExampleA.classAinstance == null) {
       "Then only start your activity"
}