0

从桌面快捷方式图标启动应用程序。通过应用程序启动器在活动 A 上启动活动 A,具有用于移动到活动 B 并完成活动 A 的按钮。我按下按钮并移动到活动 A 到活动 B。

现在,我最小化应用程序并再次单击桌面快捷方式,它显示具有相同实例的应用程序的先前状态(未创建新实例)但是如果我从应用程序抽屉应用程序图标单击它会创建具有启动器活动 A 的新实例。如果按下返回按钮并在显示带有 Activity B 的上一个实例后关闭应用程序(当前新创建的实例)。

安装新应用程序后仅由 Play 商店创建的快捷方式存在此问题。Play商店和应用程序抽屉的桌面快捷方式问题(如果创建了应用程序的新快捷方式,它处理相同的应用程序抽屉意味着它没有创建新实例)

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="x.x.x" android:versionCode="17" package="com.pack1.client">
    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8"/>
    <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:resizeable="true" android:anyDensity="true"/>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
    <application android:label="@string/appName" android:icon="@drawable/appicon" android:name=".GlobalApplication" android:process=":authProcess">
        <activity android:label="@string/appName" android:name=".Login" android:screenOrientation="portrait" android:launchMode="singleTop">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver android:name="com.pack1.client.LiveRequest">
          <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
          </intent-filter>
        </receiver>     
        <receiver android:name=".ConnectionChangeReceiver">
            <intent-filter>
                <action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
                <action android:name="android.net.wifi.STATE_CHANGE"/>
            </intent-filter>
        </receiver>    
        <activity android:label="" android:name="com.pack1.client.Preferences" android:screenOrientation="portrait"/>
        <activity android:label="" android:name="com.pack1.client.UserInfo" android:screenOrientation="portrait"/>
    </application>
</manifest>
4

1 回答 1

0

我认为您需要在转到活动 B 后在活动 A 上声明完成()。在这种情况下,活动 A 将不会保留任何旧实例。从活动 B 转到活动 A 时也是如此。

希望这个有帮助。

于 2014-08-29T06:51:54.177 回答