App Call Main Launcher从不同的图标/快捷方式启动

时间:2014-08-29 06:48:19

标签: android android-intent android-launcher application-state

从桌面快捷方式图标启动应用程序。应用程序启动器启动活动A活动a有按钮移动到活动B并完成活动A.我按下按钮并移动到活动A到活动B.

现在,我最小化应用程序并再次单击桌面快捷方式,它显示具有相同实例的先前应用程序状态(未创建新实例)但如果我从应用程序抽屉应用程序图标单击其创建具有启动程序活动A的新实例,并且如果在按活动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>

1 个答案:

答案 0 :(得分:0)

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

希望这个有所帮助。