2012-12-15 5 views
0

나는 사용자 응용 프로그램에 따라 다른 응용 프로그램 ('도우미 응용 프로그램'이라고도 함)을 실행하는 Android 응용 프로그램 ('기본 응용 프로그램'이라고 함)을 가지고 있습니다. 다음 시나리오. 내 주요 응용 프로그램에내 Android 응용 프로그램에서 다른 응용 프로그램을 실행하면 문제가 발생합니다.

  1. 사용자 A 로그는
  2. 내 주요 응용 프로그램은
  3. 사용자 A가 도우미 응용 프로그램을
  4. 사용을 최소화 (의도에서 엑스트라로 전송됩니다) 사용자 A와 관련된 세부 도우미 응용 프로그램을 실행 내 메인 애플리케이션에서 로그 아웃
  5. 사용자 B가 메인 애플리케이션에 로그인합니다.
  6. 내 메인 애플리케이션은 사용자 B (인 텐트에서 엑스트라로 전송 됨)에 특정한 세부 사항으로 도우미 애플리케이션을 시작하려고합니다. 선언 (유타는 새롭게 도우미 application.It 그냥 내가 onNewIntent (의 새로운 의도를 잡으려고 노력

이전 사용자 A의 세부 전경 이전 도우미 응용 프로그램을 제공합니다 생성되지 않음)하지만 발사 결코 극복 매니페스트에서 singleTop로 활동).

제 질문은 매번 새로운 의도로 도우미 응용 프로그램을 시작하는 것입니다. 도움을 주시면 감사하겠습니다.

+0

도우미 응용 프로그램에 버그가있을 수 있습니다, 확인 사용자의 최신 세부 사항에 따라 SharedPreferences 및 업데이트 UI 그것은 새로운 의도에 따라 행동합니다. 당신의 도우미 앱이 아니라면, 슬픈 날입니다. –

답변

1

도우미 응용 프로그램에서 onPause() 메서드를 재정의해야합니다. 이처럼

: 도우미 응용 프로그램이 백그라운드로 될 때마다

protected void onPause() { 
      super.onPause(); 
      // Toast.makeText(getApplicationContext(), "Paused", Toast.LENGTH_LONG).show(); 
      finish(); 
    } 

는 그래서, 그것은이 코드 조각에 의해 완성됩니다.

언제든지 새로운 의도로 도우미 응용 프로그램을 사용할 수 있습니다.

희망이 있으면 도움이됩니다.

감사합니다.

+0

문제는 배경으로 갈 때 앱을 끝내고 싶지 않다는 것입니다. – androidGuy

+0

'SharedPreferences'도'Helper Application'에서'Extent'를 통해'Intent'로 전달 된 사용자 정보를 저장할 수 있다고 생각합니다. 그리고 새로 전달 된 사용자 세부 사항을 확인하고 그 세부 사항을 렌더링 할 수 있습니다 . –

1

당신은으로 된 SharedPreferences를 사용하여 현재의 문제를 해결할 수 있습니다 :

내 주요 응용 프로그램에 사용자 B 로그를 만들 때 SharedPreferences :

SharedPreferences mainPrefs = 
      this.getSharedPreferences("mainappliction", MODE_WORLD_READABLE); 
SharedPreferences.Editor prefsEditor = mainPrefs.edit(); 
prefsEditor.putString("user_detailone", "userdetailone"); 
prefsEditor.putString("user_detailtwo", "userdetailtwo"); 
prefsEditor.commit(); 

및 도우미 응용 프로그램에서 응용 프로그램의 이력서에서 모든 최신 정보를 읽을 때마다

@Override 
public void onResume() 
{ 
    SharedPreferences mainPrefs = 
     this.getSharedPreferences("mainappliction", MODE_WORLD_READABLE); 
    String struserdetailone = mainPrefs.getString("user_detailone", "nothing"); 
    //...... 

    //update your Helper application UI here according user details 
    super.onResume(); 
} 
+0

내가 NO_HISTORY로 만들면 내 도우미 응용 프로그램이 백그라운드로 갈 때 완료되고 최근 응용 프로그램 목록에서 시작할 수 없습니다. – androidGuy

+0

@androidGuy : 도우미 응용 프로그램을 다시 시작하면 문제가 발생합니다. 최신 의도로 시작합니다. –

+0

@androidGuy : SharedPreferences를 사용하여 시도해 볼 수있는 문제를 찾습니다. –

관련 문제