2012-08-22 34 views
6

im escribiendo una aplicación n encerrado con un problema. Tengo tres actividades A, B y C. cuando voy de la actividad A a la B y de la B a la C y presiono el botón de menú en el dispositivo .my aplicación entra en estado de fondo. cuando vuelvo a abrir la aplicación, muestra la Actividad C. Quiero que cuando vuelva a abrir mi aplicación, muestre la Actividad A en lugar de cualquier otra actividad de la Pila de actividades. He pasado por algún método de ciclo de vida de actividad e intento anularlo. He anulado los métodos onStart(), onPause() y finsh actividad C así como la actividad B y el problema que estoy enfrentando es cuando voy de actividad C a actividad D la actividad C termina toda la actividad de fondo nm no puede volver a la acitvidad C al finalizar la actividad D. ¿Alguien puede ayudarme a mostrar la actividad específica en el currículum de la aplicación? thansks de antemano.Actividad de muerte cuando se trata de primer plano

aquí es mi manifest.xml

<uses-sdk android:minSdkVersion="4" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<application  
       android:icon="@drawable/icon" 
       android:label="@string/app_name" 
       android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" > 

    <activity 
     android:label="@string/app_name" 
     android:name="com.buttonpay.Login" 
     android:screenOrientation="portrait" 
     android:clearTaskOnLaunch="true" > 
     <intent-filter > 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 


    <activity android:name=".ButtonPayActivity" 
       android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
       android:screenOrientation="portrait"/>  


    <!-- HomeTab Activity --> 

      <activity android:name="com.buttonpay.home.Utilities" 
         android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
         android:screenOrientation="portrait"/> 


      <activity android:name="com.buttonpay.home.Top_up" 
         android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
         android:screenOrientation="portrait"/> 
      <activity android:name="com.buttonpay.home.HomeScreen" 
         android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
         android:screenOrientation="portrait"/> 

      <activity android:name="com.buttonpay.home.MyAccount" 
         android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
         android:screenOrientation="portrait"/> 
      <activity android:name="com.buttonpay.home.TransactionHistory" 
         android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
         android:screenOrientation="portrait"/> 
       <activity android:name="com.buttonpay.home.TransactionDetailsActivity" 
         android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
         android:screenOrientation="portrait"/> 
       <activity android:name="com.buttonpay.home.TransactionList" 
         android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
         android:screenOrientation="portrait"/> 
       <activity android:name="com.buttonpay.home.BusinessSummaryActivity" 
         android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
         android:screenOrientation="portrait"/> 
       <activity android:name=".home.MobileMoneyActivity" 
         android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
         android:screenOrientation="portrait"/> 


    <!-- balance tab Activity --> 
      <activity android:name="com.buttonpay.balance.BalanceTab" 
         android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
         /> 



    <!-- Favouritetab Activity --> 
      <activity android:name="com.buttonpay.favourite.FavouriteTab" 
         android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
         /> 

    <!-- ComingSoon --> 
<activity android:name="com.buttonpay.home.ComingSoon" 
         android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
         android:screenOrientation="portrait"/> 

<!-- Settings --> 
<activity android:name="com.buttonpay.settings.SettingList" 
         android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
         android:screenOrientation="portrait"/> 



</application> 

+0

la solución de David a continuación funcionó para usted? –

+0

ninguna solución de david no funciona ... tengo actividad de inicio de sesión, actividad de menú y actividad de descripción cuando presiono menú en el dispositivo, la aplicación se minimiza y cuando vuelvo a abrir la aplicación muestra actividad de descripción. Quiero activar la actividad de inicio de sesión. ¿¿alguna ayuda?? –

+0

cualquier ayuda hombre ?????? –

Respuesta

3

En el manifiesto, establecer esto en su actividad raíz (que es el primero que consigue lanzado en su aplicación , el que tiene ACTION_MAIN y CATEGORY_LAUNCHER):

android:clearTaskOnLaunch="true" 

No necesita hacer nada más. No se anulan los métodos del ciclo de vida.

editar añadir información adicional después de un poco de experimentación empírica:

usted necesita para asegurarse de que su actividad radicular está siempre en pila actividad de la tarea de hacer este trabajo. Esto significa que no se puede llamar finish() sobre la actividad raíz hasta que el usuario realmente quiere salir de su aplicación (es decir: cuando se presiona la tecla BACK cuando en su actividad radicular ).

En su ejemplo tiene una actividad de inicio de sesión, actividad de menú y descripción y la actividad de inicio de sesión es la actividad de raíz . Cuando LoginActivity inicia MenuActivity, no puede llamar al finish(). En este caso, cuando el usuario presiona la tecla BACK mientras está en MenuActivity, regresará a LoginActivity. Si esto no es lo que quieres, entonces debes establecer un indicador en LoginActivity que ya hayas iniciado MenuActivity y cuando se invoque onResume(), puedes verificar ese indicador para determinar si regresas de MenuActivity y en ese caso puede llamar inmediatamente al finish().

+0

no funciona ... tengo actividad de inicio de sesión, actividad de menú y actividad de descripción cuando presiono menubutton en el dispositivo, la aplicación se minimiza y cuando vuelvo a abrir la aplicación muestra descripción activity.i quiere actividad de inicio de sesión debe ser displyed .. cualquier ayuda? –

+0

cualquier ayuda hombre ????? –

+0

Publique su manifiesto por favor –

Cuestiones relacionadas