Cómo defino launchMode en AndroidManifest.xml – Uso de PhoneGap y JQM

Estoy luchando para restringir mi aplicación a una sola instancia. Actualmente, si el usuario presiona la pantalla de inicio para salir de la aplicación, luego hace algo fuera y hace clic en el icono de la aplicación de nuevo, se inicia la segunda instancia de la aplicación.

Aquí está mi archivo de manifiesto completo:

<?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> 

Su aplicación de una sola actividad (básicamente ninguna actividad definida). En la página principal de JQM tengo algo como estas entradas:

 <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;"> 

¿Puede alguien por favor decirme si mi Manifiesto es correcto y si debo usar

 android:name="com.mydomain.qfa" 

O debería algo más como

 android:name="com.mydomain.qfa.HomePage"? 

o

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

Gracias por adelantado.

4 Solutions collect form web for “Cómo defino launchMode en AndroidManifest.xml – Uso de PhoneGap y JQM”

He luchado con este problema durante 2 días. La corrección para agregar este atributo fue agregada recientemente a Córdoba a partir de 3.5, número CB-6048

añadir:

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

A config.xml

Otros valores disponibles:

  • "estándar"
  • "SingleTop"
  • "SingleTask"
  • "única instancia"

Intentar con

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

Es lo que se genera por phonegap CLI y launchmode establecido en singleTop para tener instancia única.

Android: nombre debe coincidir con el nombre de la clase java principal de la actividad, no con el nombre completo del paquete. Por defecto phonegap lo establece como el nombre de la aplicación.

Esto es lo que en última instancia funcionó para mí:

Sin embargo, el truco es que usted necesita cambiar en dos ubicaciones :

A) MyAppFolder \ plataformas \ android \ AndroidManifest.xml

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

B) MyAppFolder \ www \ AndroidManifest.xml

 <activity android:name="AppName" android:launchMode=["singleTask"] android:alwaysRetainTaskState="true" <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

Espero que ayude a alguien.

prueba esto:

 <gap:config-file platform="android" parent="/manifest/application"> <activity android:launchMode="singleInstance" /> </gap:config-file> 

Pero en la configuración del widget de configuración, debería ser así (agregue la definición de espacio de nombres de Android):

 <widget xmlns = "http://www.w3.org/ns/widgets" xmlns:gap = "http://phonegap.com/ns/1.0" xmlns:android = "http://schemas.android.com/apk/res/android" id = "com.wildabeast.app" version = "1.0.0"> .... </widget> 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.