使用标志 FLAG_ACTIVITY_NEW_TASK 时,如果您现在正在启动的活动的任务已经在运行,我希望不启动一个新活动 - 相反,我希望将当前任务简单地带到它最后进入的屏幕前面.
我怎样才能从其他应用程序的服务中做到这一点?我想
actvityManager.getRunningAppProcesses()
通过服务启动应用程序。我只知道如何将这个应用程序作为一个新应用程序启动:Context context = this.getBaseContext();
PackageManager pm = context.getPackageManager(); 意图意图 = pm.getLaunchIntentForPackage(LevelappPackageName); context.startActivity(intent);
但我想以这种方式执行它:
context.startActivity(intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
我知道如何确定我的应用程序是否正在运行:
ActivityManager actvityManager = (ActivityManager) this.getSystemService( ACTIVITY_SERVICE ); List<RunningAppProcessInfo> App = actvityManager.getRunningAppProcesses(); for(int i = 0; i < App.size(); i++) { if(App.get(i).processName.equals("myapp"))
但是我怎么知道某个应用程序当前是否正在运行——它现在在屏幕上?!