2016-06-09 1 views
1

내 활동에서 열린 활동을 닫으려고 삼진하고 있습니다. 마무리 활동이 더 나은 방법이라고 생각하지만 작동하지 않습니다. 내 코드는 ativity를 여는 것입니다. (이 문제가 될 수 있으며, 타사 패키지와 함께 작동?) finishActivity (int RequestCode)가 작동하지 않습니다.

Intent calendar = new Intent(); 
calendar.setPackage("com.digibites.calendar"); 
if (calendar.resolveActivity(getPackageManager()) != null) { 
    startActivityForResult(calendar, REQUEST_CALENDAR); 
    CURRENT_ACTIVITY = REQUEST_CALENDAR; 
} 

나는 그것을 실행 후,이 함께 활동을 닫습니다

finishActivity(CURRENT_ACTIVITY); 

¿ 어떤 생각? 고맙습니다! 나는 이것을 2 일 동안 시도해 왔고 그것이 긴장하게 만들었다. 나는 포럼에서 이것에 대한 모든 질문을 이미 적색으로했습니다.

EDIT : 내가 캘린더를 보여주기 위해 세 번째 파트 패키지를 호출하는 activty im을 시작할 때. 사용자가 원하는 경우 버튼을 눌러 달력을 닫습니다. finishActivity가 버튼의 메서드에 있습니다. i가 끝나면 y는 캘린더 활동이 아니라 응용 프로그램 활동을 닫습니다.

+0

넣어 마무리;

그래서 활동을 마무리하는 코드는 다음과 같이 보일 것입니다 귀하의 TargetActivity OnCreate() –

+0

에 finishActivity – KDeogharkar

+0

"나는이 2 일 동안 노력하고 있습니다 ..."라고 쓰고 있습니다. 나도 !! 나는 문서가 이것에 대해 완성되지 않았다고 느낀다. 가장 직관적 인 것은'finishActivity' 메쏘드가 실제로 활동을 끝내는 것을 믿는다는 것이다. 단지 레코드를 위해서'finishActivity' 메쏘드는 그 활동을 끝내지 않는다. 요청 코드 ... 당신이 내게 묻는다면 꽤 혼란 스럽네요. – Bengalaa

답변

0

캘린더 인 텐트를 호출 한 후 finish();을 추가하십시오.

Intent calendar = new Intent(); 
calendar.setPackage("com.digibites.calendar"); 
if (calendar.resolveActivity(getPackageManager()) != null) { 
    startActivity(calendar); 
    finish(); 
} 
+0

이것은 내 주요 활동이 아니라 캘린더 활동을 닫습니다. – edusan1213

+0

finishActivity는 동일한 @ edusan1213을 나타냅니다. – KDeogharkar

+0

아니요, CURRENT_ACTIVITY는 캘린더 활동의 코드이므로이 활동을 닫습니다 , 이걸 시작하는 주요 활동이 아닙니다. 나 자신을 프로그래밍 다른 활동을 가지고 있고 내가이 문제를 가지고있어, 완벽하게 모두 사용자가 원하는 때, 그 beacouse beacouse 용의자는 제 3의 부분 애플 리케이션을 닫습니다. – edusan1213

0

finish(); finishActivity (CURRENT_ACTIVITY) 대신;

+0

this close 내 주요 활동, 대신 캘린더 활동을 백그라운드에서 실행 중 – edusan1213

+0

CURRENT_ACTIVITY.this.finish(); –

+0

CURRENT_ACTIVITY는 활동이 아닌 int 변수이므로,이 값을 쓰면 오류가 발생합니다. CURRENT_ACTIVITY startActivityForResult ... – edusan1213

0

finishActivity 메서드는 응답 코드를 설정하기 만하므로 finishActivity(CURRENT_ACTIVITY)을 호출 한 후 finish()을 호출해야 활동이 완료됩니다. 그리고 작업을 완료하기 전에 setResult(RESULT_OK, getIntent())으로 전화하는 것을 잊지 마십시오. 그냥 finishActivity를 호출하는 경우 즉

, 당신은 활동을 종료하지 않습니다, 당신은 실제로 활동을 종료하기 위해 ... 결과 코드를 설정하는, 당신은 finishActivityfinish를 호출해야합니다.) (

// ... 
finishActivity(CURRENT_ACTIVITY); 
setResult(RESULT_OK, getIntent()); 
finish(); 
// ... 
관련 문제