2012-06-06 4 views
3

플러그인이있는 Android 애플리케이션과 함께 PhoneGap 1.4 /를 만들었습니다.Phonegap 안드로이드 애플리케이션이 홈 버튼 클릭 후 돌아올 때 재개되지 않고 다시 시작됩니다.

내 고객은 그가 홈 버튼을 사용하여 앱을 떠난 다음 앱 아이콘을 사용하여 앱을 다시 시작하면 앱을 다시 시작하지 않고 처음부터 다시 시작한다고보고했습니다. 그러나 그가 자물쇠를 누르거나 잠자기 상태가되면 예상대로 앱이 다시 시작됩니다.

응용 프로그램의 초기화 과정은 이런 식으로 선언된다 :

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Log.d("EMOFIDActivity", "onCreatee " + this.getIntent()); 
    super.loadUrl("file:///android_asset/www/index.html"); 
} 
    @Override 
public void onPause() { 
    Log.d("EMOFIDActivity", "onPause " + this.getIntent()); 
    super.onPause(); 
}// On click of home button this method is getting called 

@Override 
public void onResume() { 
    Log.d("EMOFIDActivity", "onResume " + this.getIntent()); 
    super.onResume(); 
} // On click of app icon application is getting relaunched without coming to this function. 

내가 세 안드로이드 플러그인을 포함했다가이 같은 onPause() & onResume() 메소드를 오버라이드 (override). OnResume() 메소드도 전혀 호출되지 않습니다.

@Override 
public void onPause(boolean multitasking) { 
    Log.d(TAG, "onPause " + ctx.getIntent()); 
    super.onPause(multitasking); 
    stopNfc(); 
} 

@Override 
public void onResume(boolean multitasking) { 
    Log.d(TAG, "onResume " + ctx.getIntent()); 
    super.onResume(multitasking); 
    startNfc(); 
} 

이 문제를 해결하고 내 애플리케이션을 일시 중지 한 상태로 돌아갈 방법이 있습니까? 이 과정에서 어떤 문제가있을 수 있습니까?

+0

유사 문제 : http://stackoverflow.com/q/21748570/188926

이 예제를 conside하시기 바랍니다 – Dunc

답변

3

나는 동일한 문제가있었습니다. 백그라운드에서 이미 실행중인 앱을 다시 시작하려면 앱 아이콘을 클릭하면 내 앱이 다시 시작되었습니다.

기본적으로

안드로이드 경우 : launchMode

설정 표준 여부, 새로운 의도가 앱 생성 및 응용 프로그램의 이전 일시 중지 상태가 재개되지로 설정됩니다. 내부> -

그래서 내가 발견 주위에 가장 좋은 방법은 AndroidManifest.xml에에
android:launchMode="singleTask" 

을 적용했다.

<activity android:name="Example" android:label="@string/app_name" 
       android:theme="@android:style/Theme.Black.NoTitleBar"    android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" 
       android:launchMode="singleTask"> 
       <intent-filter> 
        <action android:name="android.intent.action.MAIN" /> 
        <category android:name="android.intent.category.LAUNCHER" /> 
       </intent-filter> 
      </activity>