Android-приложение PhoneGap перезагружается, а не возобновляется при возвращении после нажатия кнопки home
Я создал PhoneGap 1.4/ с приложением Android с плагинами.
Мой клиент сообщает, что, когда он покидает приложение с помощью кнопки "Домой", а затем перезапускает его с помощью значка приложения, приложение перезапускается с самого начала, а не возобновляется. Однако, когда он нажимает на блокировку или засыпает, приложение возобновляет работу ожидаемым образом.
Процесс инициализации приложения объявлен так:
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.
Я включил три плагина Android и переопределил методы onPause() и onResume(), как это. Здесь также метод 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();
}
Есть ли способ решить эту проблему и вернуться в состояние, в котором я приостановил свою заявку? В чем может быть проблема в этом процессе?
1 ответ
У меня такая же проблема. Мое приложение перезапускалось, когда я нажимал значок приложения, чтобы перезапустить уже запущенное приложение в фоновом режиме.
В основном, если
андроид: launchMode
установлен на стандарт или не установлен, затем создается новое намерение для приложения, и старое приостановленное состояние приложения не возобновляется.
Так что лучший способ, который я нашел, это применить
android:launchMode="singleTask"
в AndroidManifest.xml -> внутри.
пожалуйста, рассмотрите этот пример:
<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>