我正在努力将我的应用程序限制为单个实例。当前,如果用户按下主屏幕退出应用程序,然后在外部做某事并再次单击该应用程序的图标,则它将启动该应用程序的第二个实例。

这是我完整的 list 文件:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.mydomain.qfa"
      android:versionCode="4"
      android:versionName="1.3">


<uses-sdk android:minSdkVersion="7"
          android:targetSdkVersion="13"
          android:maxSdkVersion="18" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<application
             android:debuggable=["false"]
             android:testOnly=["false"]
             android:icon="@drawable/icon.png"
>
<activity
            android:name="com.mydomain.qfa"
            android:launchMode=["singleTask"]
            android:alwaysRetainTaskState="true"
            android:icon="@drawable/icon.png"
>
</activity>

</application>
</manifest>

它是一个单一 Activity 的应用程序(基本上没有定义 Activity )。在JQM主页上,我有类似以下条目的内容:
<div data-role="page" id="HomePage">

    <div data-theme="d" data-role="header" data-position="fixed" style="padding-bottom: 0px;" data-tap-toggle="false">

        <div data-role="navbar">

    <div data-role="content"  class="MainContent"  style="overflow:hidden; padding-top: 0px;">

有人可以告诉我 list 是否正确以及我是否应该使用
android:name="com.mydomain.qfa"

还是应该其他类似的东西
android:name="com.mydomain.qfa.HomePage"?

或者
android:name="com.mydomain.qfa.MainContent"?

提前致谢。

最佳答案

我为这个问题苦苦挣扎了2天。添加此属性的修补程序是最近才从3.5,issue CB-6048添加到Cordova的

添加:

<preference name="AndroidLaunchMode" value="singleTask" />

到config.xml

其他可用值:
  • “标准”
  • “singleTop”
  • “singleTask”
  • “singleInstance”
  • 10-08 14:01
    查看更多