Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取Android活动的单例实例?_Java_Android_Android Intent_Android Studio - Fatal编程技术网

Java 获取Android活动的单例实例?

Java 获取Android活动的单例实例?,java,android,android-intent,android-studio,Java,Android,Android Intent,Android Studio,我有一个Android活动。我希望这个活动是一个单身。我是通过设置 android:launchMode="singleTop" 在我的AndroidManifest.xml中。现在,我需要一个对这个单一活动的引用,而不是带着意图启动它 我可以创建这样一个实例: MyActivity a = new MyActivity(); 这将导致一个不同的实例,而不是我这样做时得到的: Intent intent = new Intent(context, MyActivity.class); st

我有一个Android活动。我希望这个活动是一个单身。我是通过设置

android:launchMode="singleTop"
在我的
AndroidManifest.xml
中。现在,我需要一个对这个单一活动的引用,而不是带着意图启动它

我可以创建这样一个实例:

MyActivity a = new MyActivity();
这将导致一个不同的实例,而不是我这样做时得到的:

Intent intent = new Intent(context, MyActivity.class); 
startActivity(intent);

如何获得与Android系统创建的活动相同的实例?

首先,“singleTop”不是将活动作为Singleton的一种方式。要使活动成为单例,您应该使用“singleTask”或“singleInstance”,只有这两个提供活动的单例实例。请访问此链接有什么区别?@Akbar此链接根本没有帮助。一个“singleTask”或“singleInstance”活动的实例不超过一个,所以前一个实例将处理所有新的意图。