如何避免从服务开始的多个活动实例

时间:2011-08-11 10:21:32

标签: android

我正在服务工作,在设备启动时,我的服务与应用程序一起启动。 现在,如果服务发现了一些受限制的应用程序,它会显示我的应用程序,显示主页,杀死应用程序,然后重新开始活但是在启动启动时会创建多个实例。

我想每次启动以前启动的活动,如果它存在,我使用以下代码:

    //activity to background    
    Intent startMain = new Intent(Intent.ACTION_MAIN);
    startMain.addCategory(Intent.CATEGORY_HOME);
    startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(startMain);

    //killing restricted app    
    Appmgr.killBackgroundProcesses(RunningP.processName);

    //again start activity      
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    ComponentName cn = new ComponentName(this, TaxiPlexer.class);
    intent.setComponent(cn);
    startActivity(intent);

我使用了FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY和其他人,但他们给了我强制关闭错误。以上代码仅创建多个实例 ON BOOT

1 个答案:

答案 0 :(得分:0)

将此添加到清单:

<activity android:name="yourActivity" launchMode = "singleTask" ></activity>