문제

두 가지 활동이 있습니다. 주요 활동 그리고 아동도. 사용자가 버튼을 클릭 할 때마다 주요 활동,, 아동도 출시되었습니다. 내가하고 싶은 것은 이것입니다 :

활성 활동이 아동도 그리고 사용자 홈 버튼을 클릭 한 다음 응용 프로그램을 다시 시작하십시오, 나는보고 싶다 아동도 대신에 주요 활동 그것은 시작됩니다.

나는 실제로 몇 가지 제안을했다. 나는 Onstart, Onrestart, Onresume, Onstop, Ondestroy 이벤트를 조작하려고했습니다. 그러나 그들은 문제를 완전히 해결하지 못했습니다. 스마트 한 방법이 있어야합니다. 고맙습니다.

편집하다:

답변에 감사드립니다. 최근 활동 창에서 활동이 호출 될 때 당신이 말한 경우가 발생합니다. (홈 버튼을 오래 누르면 창문이 열렸습니다). 홈 화면에서 열 때는 일어나지 않습니다. (시작부터 시작하는 것과 같이) 내 코드 에이 오류를 생성하는 데 특정 문제가 있다고 생각하지 않습니다. 왜냐하면 나는 테스트 프로젝트를 만들고 질문을 보내기 전에 독립형을 시도하고 같은 문제에 직면했습니다. 어쨌든 테스트 코드는 다음과 같습니다.

public class MainActivity extends Activity implements OnClickListener {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        this.setTitle("MainActivity");

        ((Button) findViewById(R.id.btnChildActivity)).setOnClickListener(this);
    }

    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        startActivity(new Intent(this, ChildActivity.class));
    }

}

public class ChildActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main2);
        this.setTitle("ChildActivity");

    }
}
도움이 되었습니까?

해결책

편집하다: 오늘 당신의 문제에 대한 해결책을 오늘 다소 무작위로 발견했습니다! 이것 좀 봐 오류 보고서. 그것은 당신의 문제를 정확하게 설명합니다. 문제를 재현 할 수 없었던 이유는 Eclipse가 앱을 직접 시작하지 않았기 때문입니다. Eclipse를 사용하여 앱을 설치 한 다음 직접 시작합니다.


이것은 이미 Android 응용 프로그램의 기본 동작이며이를 달성하기위한 특별한 트릭이 필요하지 않습니다. 귀하의 응용 프로그램 이이 동작을 보여주지 않는 것에 놀랐습니다. 모든 Android 애플리케이션은 문자 그대로 활동 스택을 유지합니다. 이러한 활동은 작업으로 더 그룹화 될 수 있지만 Mundane 앱의 99%가 내 경험에 대한 작업에 대해 아무것도 알 필요가 없습니다.

홈 버튼을 누르면 전체 애플리케이션 스택이 백그라운드에 들어갑니다. 백그라운드에서는 언제든지 메모리 문제로 사망 할 수 있지만, 복원되기 전에 시간이 많이 걸리지 않으면 일반적으로 죽지 않으며 재현 할 필요가 없습니다. 응용 프로그램을 다시 선택하면 스택 (또는 더 정확하게는 스택의 상단 항목 만 복원)이 복원됩니다.

응용 프로그램 이이 동작을 전시하지 않는 경우, 메인 활동 및 아동 활동을 시작하는 방법 및 사용중인 추가 의도 플래그와 관련이 있다고 생각합니다. 메인 활동과 아동 활동을 시작하는 방법에 대한 코드 스 니펫을 게시 할 수 있습니까?

다른 팁

나는 비슷한 응용 프로그램으로 돌아가서 테스트를 거쳤으며, 프로세스가 기억에서 벗어나더라도 hildactivity가 자동으로 재구성됩니다. 에뮬레이터 또는 실제 장치에서 이것을보고 있습니까?

앱을 실행하고 logcat을 시청하면 앱을 시작한 후 다음과 같은 것을 볼 수 있습니다. 그런 다음 childactivity를 열고 홈을 클릭 한 다음 다시 활동을 시작하십시오.

활동 시작 : 의도 {action = android.intent.action.main category = {android.intent.categroy.launcher} flags = ... comp = {com.yourpackagename.mainactivity}} 활동에 대한 Proc yourpackagename.childactivity : pid = x uid = y gids = {} 표시 된 활동 /.ChildActivity

기대하는 동작이 보이지 않을 때 LOGCAT의 출력을 게시 할 수 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top