문제

활동을 어떻게 전화하지 않고 배경으로 갈 수 있습니까? finish() 이것을 시작한 학부모 활동으로 돌아가고 있습니까? 너무 많이 시도했지만 해결책을 찾을 수 없었습니다. 당신이 도와 줄 수 있다면 나는 매우 감사 할 것입니다.

도움이 되었습니까?

해결책

활동이 부모와 다른 작업으로 실행되는 경우 다음은 작동합니다. 이를 달성하려면 참조하십시오 http://developer.android.com/guide/topics/manifest/activity-element.html#lmode.

public void onBackPressed () {
    moveTaskToBack (true);
}

현재의 과제는 숨겨져 있지만 상태는 손대지 않게 유지되며 재 활성화되면 떠날 때와 마찬가지로 나타납니다.

다른 팁

백그라운드에서 캐시 / 저장 / 프로세스하려는 데이터가있는 경우 Asynctask 또는 a .

캐시 / 부모로 전환 할 준비가되면 자녀 활동 방법 중 하나에서 다음과 같은 작업을 수행합니다 (startActivityForResult ()로 자녀를 시작했다고 가정).

스레드 접근 :

Thread t1 = new Thread(new Runnable() {

        @Override
        public void run() {
            // PUT YOUR CACHING CODE HERE

        }
});

t1.start();

setResult( whatever );
finish();

당신은 또한 a를 사용할 수 있습니다 매니저 새 스레드에서 모든 것을 다시 전달 해야하는 경우.

비동기 접근법 :

new CacheDataTask().execute( data params );
set_result( whatever );
finish();

Asynctask는 새 스레드에서 무언가를 처리해야하지만 UI 프로세스와 다시 통신 할 수있는 상황을위한 것입니다.

과제를 뒤로 옮기는 것은 당신이 Activity 수명주기 이벤트.

두 번째를 시작해야합니다 Activity ~을 통해 Intent 사용 startActivity(), 또는 두 번째로부터 결과를 다시받을 필요가있는 경우 Activity, 사용 startActivityForResult(). 이를 통해 사용자가 완료하면 콜백을받을 수 있습니다. Activity 그리고 당신의 첫 번째로 돌아갑니다 Activity.

시작 Activity 그리고 결과를 얻는다 : http://developer.android.com/reference/android/app/activity.html#startingActivities

노력하다:

 Intent toNextActivity = new Intent(CurrentActivity.this,
                                     NextActivity.class);
 CurrentActivity.startActivity(toNextActivity);

이 방식으로 사용하면 CurrentActivity의 onpause () 메소드가 호출되고 CurrentActivity에 정적 변수 (미디어 플레이어 개체와 같은)가 있으면 계속 존재합니다 (또는 재생중인 경우 재생).

응용 프로그램에서 사용하고 있지만 서비스로 더 좋은 방법을 찾았습니다.

이것이 당신을 도울 수 있기를 바랍니다!

간단히

보호 된 void minimizeApp () {의도 startMain = new Quits (intent.action_main); startMain.AddCategory (intent.category_home); startMain.setflags (intent.flag_activity_new_task); startActivity (startMain); }

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