2017-05-17 13 views
1

アプリを実行すると、私は活動について問題がある場合、それは私のアプリを再起動します。 アンドロイドスタジオから実行している:私は、アプリを実行したときに、それが最後の活動に起動する(それは私が望むものだ)。私はアンドロイドのプロジェクトに取り組んでいる

A - > B - >ホーム - > B

しかし、APKから:それは最初のアクティビティを起動し、それが私の最後の活動

Aの上だ - > B - >ホーム - > A

アンドロイドスタジオからアプリをインストールするとき、私のapkが同じことをしたいと思います。

<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" /> 
+1

あなたが投稿できますアクティビティA/Bを開始する「自宅」アクティビティのコードですか? –

+0

> runningアンドロイドスタジオもっと明確にするために:アンドロイドエミュレータで実行したということですか? > homeあなたが何を参照しているか分かりませんが、あなたは* home activity *または* home screen *を意味しますか?それ以外に、活動の関連コードを掲載することはできますか? Android Manifestだけを提供するだけで、実際に何が起こっているのかは分かりません。 – Photon

+0

**エミュレータについて**:いいえ、私は電話で動作します。 ** about home **確かに私はhomeScreenを意味しました 私はこのコードで私の問題を解決する方法を見つけました: https://github.com/cleverua/android_startup_activity/blob/master/src/com/cleverua/android/ StartupActivity.java –

答えて

0

あなたの仕事が自宅のアクティビティで終了したら、家の活動を終了してください。 すなわち

finish(); 
0

私はあなたがホーム画面とない家と呼ばれているactivityについて話していると仮定します。

あなたが抱えている問題は、Androidスタジオからアプリを実行している方法と最も関連しています。通常の動作では、アプリケーションがアプリケーションアイコンから起動されると、アプリケーションがバックグラウンドで実行されていても現在実行中のアクティビティが表示されている場合、マニフェストファイルのメインアクティビティで起動されます。

ただし、Androidスタジオでデバッグモードで実行している場合、動作が若干異なる場合があります。 Android: keep task's activity stack after restart from HOME によると、私たちは、次の3例を得る:

ケース#1

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

ケース#2

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

ケース#3

A > B > HOME > A 
Get: B (stack preserved) 
関連する問題