1

I'm working on a android project and I have an issue about activities: running From android studio : when i run the app, it launch to the last activity( it's what i want ).

A -> B ->home -> B

But from an APK : it launch the First Activity and it's on the top of my last activity

A -> B ->home -> A

I want that my apk do the same thing that when i install the app from android studio.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.alloairport"
android:versionCode="7"
android:versionName="1.0.2">

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="23" />

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

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />

<!-- GCM permissions -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.VIBRATE" />

<permission
    android:name="com.alloairport.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />

<uses-permission android:name="com.hub4.gcm.permission.C2D_MESSAGE" />

<application
    android:name=".application.Hub4Drivers"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">
    >
    <activity
        android:name=".drivers.ui.activity.SplashActivity"
        android:configChanges="orientation|keyboard|keyboardHidden"
        android:label="@string/app_name"
       >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".drivers.ui.activity.TestActivity" />
    <activity android:name=".drivers.ui.activity.PrefActivity" />
    <activity android:name=".drivers.ui.activity.MainActivity" />
    <activity
        android:name=".drivers.ui.activity.LoginActivity"
        android:windowSoftInputMode="adjustPan" />
    <activity
        android:name=".drivers.ui.activity.HomeActivity"
        android:alwaysRetainTaskState="true"
        android:exported="true">

    </activity>

    <activity android:name=".drivers.ui.activity.AlloairportHomeActivity" />
    <activity android:name=".drivers.ui.activity.HomeConcentratorActivity" />
    <activity android:name=".modules.message.ListOfMessageActivity" />
    <activity android:name=".modules.message.MessageActivity" />
    <activity android:name=".modules.message.SendMessageActivity" />
    <activity android:name=".modules.webform.WebFormActivity" />
    <activity android:name=".modules.blacklist.FilterActivity" />
    <activity android:name=".drivers.ui.activity.SuggestRaceActivity" />
    <activity android:name=".drivers.ui.activity.RaceRecordActivity" />
    <!-- activity android:name="com.hub4.drivers.ui.activity.NewRaceActivity" / -->
    <activity
        android:name=".drivers.ui.activity.NewRaceActivity"
        android:label="@string/app_name">
        <intent-filter>
            <category android:name="android.intent.category.INFO" />
        </intent-filter>
    </activity>
    <!-- <activity android:name="com.hub4.drivers.ui.activity.ParserTestActivity" /> -->
    <activity android:name=".drivers.ui.activity.RaceToAssignActivity" />
    <activity android:name=".drivers.ui.activity.DriverInformationActivity" />
    <activity android:name=".drivers.ui.activity.NewRacePropositionActivity" />
    <activity
        android:name=".drivers.ui.activity.SuggestRaceDriverActivity"
        android:windowSoftInputMode="stateHidden" />
    <activity android:name=".drivers.ui.activity.driver.DriverAppliedRaceActivity" />
    <activity
        android:name=".drivers.ui.activity.driver.DriverAssignRaceActivity"
        android:theme="@style/noAnimTheme" />
    <activity android:name=".drivers.ui.activity.driver.DriverHistoryRaceActivity" />
    <activity
        android:name=".drivers.ui.activity.driver.DriverNewRaceActivity"
        android:alwaysRetainTaskState="true"
        android:exported="true"/>
    <activity android:name=".drivers.ui.activity.driver.DriverRaceSentActivity" />
    <activity android:name=".drivers.ui.activity.list.DriverAsgRaceListActivity" />
    <activity android:name=".drivers.ui.activity.list.DriverHistRaceListActivity" />
    <activity android:name=".drivers.ui.activity.list.DriverMyAppListActivity" />
    <activity android:name=".drivers.ui.activity.list.DriverNewRaceListActivity" />
    <activity android:name=".drivers.ui.activity.list.DriverRaceSentListActivity" />
Doron Yakovlev Golani
  • 5,188
  • 9
  • 36
  • 60
Pascal Yu
  • 99
  • 8
  • 1
    Can you post the code of 'home' activity in which you start activity A/B? – Luca Nicoletti May 17 '17 at 13:48
  • > running From android studio Just for more clarification: Do you mean you ran it on the android emulator? > home Not really sure what you refering to, do you mean the *home activity* or the *home screen*? Other than that, can you post the relevant code of the activities? Can't really tell what is going on just by providing only the Android Manifest. – Photon May 17 '17 at 13:53
  • **About the Emulator** : no, i run on a phone. **about home** Indeed i meant homeScreen , i found a way that resolve my problem with this code : https://github.com/cleverua/android_startup_activity/blob/master/src/com/cleverua/android/StartupActivity.java – Pascal Yu May 17 '17 at 15:28

2 Answers2

0

Just finish you home activity once your task is finished on home activity. i.e.

finish();
Shaifali Rajput
  • 1,279
  • 12
  • 30
0

I assume you are talking about the home screen and not an activity which is called home.

The issue you are experiencing has most likely to do with the way you are running the app from Android Studio. Normal behaviour is that when the application is started from the application icon, the app is started with the main activity from the manifest file, if the app is still running in the background however the app shows the currently running activity.

However, when you are running in debug mode on Android studio, the behaviour might be slightly different. According to Android: keep task's activity stack after restart from HOME we get the following 3 cases:

Case # 1.

Debug > A > B > HOME > A
Get: A (stack is cleared)

Case # 2.

Debug > A > BACK > A > B > HOME > A
Get: B (stack preserved)

Case # 3.

A > B > HOME > A
Get: B (stack preserved)
Community
  • 1
  • 1
Niki van Stein
  • 10,564
  • 3
  • 29
  • 62