アプリの別のインスタンスが実行されているかどうかを確認しようとしています。2 番目のインスタンスを開始すると、アプリが実行されていないことが常にわかります。チェック用のコードは次のとおりです。
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;
}
}
あなたが私を助けてくれることを願っています。