簡體   English   中英

App Call Main Launcher從不同的圖標/快捷方式啟動

[英]App Call Main Launcher launch from different icon/shortcuts

從桌面快捷方式圖標啟動應用程序。 由應用啟動器在活動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>

我認為您需要在進入活動B后在活動A上聲明finish()。在這種情況下,活動A不會保留任何舊實例。從活動B進入活動A時也是如此。

希望這對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM