Android 如何检查应用程序的第二个实例?
我正在尝试检查是否有我的应用程序的另一个实例正在运行。当启动第二个实例时,我总是发现我的应用程序没有运行。检查代码为:Android 如何检查应用程序的第二个实例?,android,instance,Android,Instance,我正在尝试检查是否有我的应用程序的另一个实例正在运行。当启动第二个实例时,我总是发现我的应用程序没有运行。检查代码为: public String NameActivity() { ActivityManager am = (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE); List l = am.getRunningAppProcesses(); Iterator i = l.itera
public String NameActivity() {
ActivityManager am = (ActivityManager)
context.getSystemService(context.ACTIVITY_SERVICE);
List l = am.getRunningAppProcesses();
Iterator i = l.iterator();
PackageManager pm = this.context.getPackageManager();
while (i.hasNext()) {
ActivityManager.RunningAppProcessInfo info =
(ActivityManager.RunningAppProcessInfo) (i.next());
try {
CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(
info.processName, PackageManager.GET_META_DATA));
Log.w("LABEL", c.toString());
} catch (Exception e) {
//Name Not FOund Exception
}
}
return null;
}
public static boolean isThisProcessRunning(Context context, String processName) {
if (processName == null) {
return false;
}
ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> processes = manager.getRunningAppProcesses();
for (RunningAppProcessInfo process : processes) {
if (processName.equals(process.processName)) {
return true;
}
}
return false;
}
}
公共字符串名称活动(){
ActivityManager am=(ActivityManager)
getSystemService(context.ACTIVITY\u服务);
List l=am.getRunningAppProcesses();
迭代器i=l.迭代器();
PackageManager pm=this.context.getPackageManager();
while(i.hasNext()){
ActivityManager.RunningAppProcessInfo=
(ActivityManager.RunningAppProcessInfo)(i.next());
试一试{
CharSequence c=pm.getApplicationLabel(pm.getApplicationInfo(
info.processName,PackageManager.GET_META_DATA));
Log.w(“LABEL”,c.toString());
}捕获(例外e){
//找不到名称异常
}
}
返回null;
}
公共静态布尔值isThisProcessRunning(上下文上下文,字符串processName){
if(processName==null){
返回false;
}
ActivityManager=(ActivityManager)context.getSystemService(context.ACTIVITY_服务);
List processs=manager.getRunningAppProcesses();
for(运行AppProcessInfo进程:进程){
if(processName.equals(process.processName)){
返回true;
}
}
返回false;
}
}
我希望您能帮助我。您一直都只有一个
应用程序运行的实例。可能有多个活动或服务,但只有一个应用程序。因此,如果你有任何代码正在运行,这意味着你的应用程序正在运行,而它只是其中的一个实例。那么如何检查第二个代码是否已经运行了呢