簡體   English   中英

如果從文件夾中打開后單擊主屏幕圖標,Android應用程序將重新啟動,反之亦然,但只有從Play Market下載后,

[英]Android application restarts if homescreen icon clicked after opened from folder and vice versa but only if downloaded from Play Market

也許有人遇到了這個錯誤。 這是一個令人震驚的事情。

我已經開發了一個應用程序。 如果我將其側面加載到我的android設備Samsung J1上,它將正常工作。 我的意思是通過瀏覽器從我的網站進行調試或加載。 它安裝到應用程序文件夾中。 我只需在應用程序文件夾中按住圖標就可以在安裝主屏幕后以通常的方式創建快捷方式,從而獲得在調試過程中遇到的預期行為。

預期的行為(如果是側面加載,通過瀏覽器從網站下載到設備上的行為也是如此)可以正常工作!

1)從應用程序文件夾中打開應用程序,對該應用程序執行任何操作。 轉到主屏幕,執行任何操作,然后從主屏幕快捷方式或從應用程序文件夾中的應用繼續重新打開應用。 很好 我們可以從完成的地方開始。

如果從Google Play商店下載,則行為異常

1)從主屏幕啟動應用程序。 轉到應用程序文件夾,按應用程序圖標,應用程序再次啟動,由於應用程序內部的業務邏輯,發生了不好的事情。 反之亦然。 從應用程序文件夾中啟動應用程序,進入主屏幕,然后單擊應用程序圖標。應用程序重啟,不會繼續。

Play商店對應用進行了更改,並且發生了這種情況。 我還注意到,從商店下載時,軟件包的大小顯着減小,因此它確實對文件有所作為。

無論如何,似乎有很多帖子解決了這個問題,但是我找不到所描述的完全相同的情況,因此希望解決這個問題可以為社區做出寶貴的貢獻。 謝謝!

因此,經過一番研究,我找到了對我有用的答案。 在MainActivity.cs的Xamarin Anroid項目中,將LaunchMode = LaunchMode.SingleInstance添加到活動標簽。

清單是自動編譯的,因此您不能直接更改xml,而只能使用類文件。 所以最終看起來像這樣。

將以下代碼粘貼到主要活動類代碼上方。 請注意,添加的LaunchMode = LaunchMode.SingleInstance標記實際上已添加

將Manifesto.xml的<activity android:launchMode="singleInstanc>e"

[Activity(Label = "LavkaLavka", 
    Icon = "@drawable/icon", 
    Theme = "@style/MainTheme", 
    MainLauncher = true,
    LaunchMode = LaunchMode.SingleInstance,
    ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]



public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{

    protected override void OnCreate(Bundle bundle)
    {
        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;



        base.OnCreate(bundle);

        global::Xamarin.Forms.Forms.Init(this, bundle);
        LoadApplication(new App());
    }
}

暫無
暫無

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

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