2011-08-11 3 views
0

서비스으로 근무하고 있습니다. 장치 부팅시 my service가 응용 프로그램과 함께 시작됩니다. 서비스가 시작된 일부 제한된 응용 프로그램이 발견되면 내 응용 프로그램을 배경으로 표시하고 집에 보여 주며 응용 프로그램을 종료하고 전경에서 활동을 다시 시작합니다. 하지만 부팅시 을 시작할 때 복수 인스턴스를 생성합니다..서비스에서 시작하는 여러 활동 인스턴스를 방지하는 방법

내가 존재하는 경우, 나는 다음과 같은 코드를 사용하고 이전에 시작 활동을 할 때마다 시작하려면 :

//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 다른 사람하지만 그들은 나에게 가까이 오류를 강제로 제공하고 있습니다. 코드는 부팅시 여러 인스턴스를 생성보다도

+0

는 의도 개체에 대한 정적 및 마지막을 – Pratik

답변

0

이이 명단에 추가 :

<activity android:name="yourActivity" launchMode = "singleTask" ></activity> 
관련 문제