我已经使用带有插件的Android应用程序创建了PhoneGap 1.4 /.
我的客户报告说,当他使用“主页”按钮离开应用程序,然后使用应用程序图标重新启动它时,该应用程序从头开始重新启动,而不是重新启动.但是,当他按锁或进入睡眠状态时,应用程序将以预期的方式恢复.
应用的初始化过程是这样声明的:
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();
}
有没有办法解决此问题并返回到我暂停我的应用程序的状态?在此过程中可能会出现什么问题?
解决方法:
我有同样的问题 .当我单击应用程序图标以在后台重新启动已运行的应用程序时,我的应用程序已重新启动.
基本上如果
android: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>