2012-07-17 3 views
-1

내 코드에 2 개의 앱이 있습니다. 런처처럼 앱 b를 시작하는 앱 a.플래그에 문제가 있음

코드 응용 프로그램 A는 그 다음과 같습니다

Intent i = new Intent(Intent.ACTION_MAIN); 
    PackageManager manager = getPackageManager(); 
    i = manager.getLaunchIntentForPackage("com.test.vayo"); 
    i.addCategory(Intent.CATEGORY_LAUNCHER); 
    startActivity(i); 
    finish(); 

응용 프로그램 B의 코드하십시오 didnt 한 그 b.For 응용 프로그램을 시작하는 경우에만 b를 작업을 시작하기

  Intent intent = new Intent(this.context, first.class); 
      intent.setFlags(intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
      context.startActivity(intent); 
      finish(); 

내 문제 나는 이미 실행중인 작업을 앞에두고 모든 작업을 루트에서 시작하지 않으려 고 노력하고 있습니다. 단지 비공개 작업의 스택을 앞쪽으로 가져 오는 것입니다. FLAG_ACTIVITY_REORDER_TO_FRONT을 사용하고 있는데, 첫 번째 앱 b와 앱을 실행하는 경우에만 작동하지만, a를 실행 한 다음 b를 실행하면 is는 작동하지 않으며 루트 활동에서 b를 시작합니다. 매니페스트 파일에서

+0

나는 누가 누가 무엇을하고 싶은지를 실제로 알지 못했습니다. 좀 더 명확한 영어로 설명 할 수 있다면 기꺼이 도와 드리겠습니다. – Erol

+0

좋아요, 흐름이 앱이 시작 앱이거나 사용자가 앱을 직접 시작할 수 있습니다. 나는 b가 이미 시작되고 어떤 사람이 다른 방법으로 b를 시작한다면 나는 이미 실행중인 작업을 앞에두고 싶다. 분명히 –

답변

0

을 아무것도 할 필요가 없습니다 나는 응용 프로그램 A와에 플래그와 함께 하나 개의 플래그를 해냈어 앱에있는 다른 앱 b, 깃발

intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 
0

, B의 실행 활동을 위해,

android:launchMode="singleTask" 

를 선언 당신은 B.

+0

을 희망하고 다른 사람으로부터 그것을 시작하려고 할 때 나는 그것을 가져올 것이다. 이미 실행중인 작업을 시작 하시겠습니까? –

+0

예. 시도해보십시오. 작동하지 않으면 다른 해결책을 찾아 볼 수 있습니다. – Erol

+0

죄송합니다 작동하지 않습니다 미안합니다.이 앱을 내 스플래시 활동에 추가했습니다. 여전히 동일한 문제가 발생했습니다. –