3

我已经使用带有插件的 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();
}

有没有办法解决这个问题并回到我暂停我的应用程序的状态?在这个过程中可能会出现什么问题?

4

1 回答 1

3

我有同样的问题 。当我单击应用程序图标以在后台重新启动已经运行的应用程序时,我的应用程序正在重新启动。

基本上如果

安卓:启动模式

设置为标准或未设置,然后为应用程序创建一个新的意图,并且应用程序的旧暂停状态不会恢复。

所以我发现最好的方法是申请

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>
于 2013-07-11T20:47:25.237 回答