2016-08-10 13 views
0

Wenn ich Strings in den Current.Properties speichern, funktioniert alles, aber wenn ich die Windows Phone App deinstalliere und neu installiere, scheinen die Current.Properties Schlüssel immer noch auf dem Gerät zu sein.Xamarin Forms Current.Properties

Meine Frage ist, wie kann ich die Current.Properties Schlüssel zu löschen, wenn die Anwendung auf einem Windows-Telefon

Antwort

2

Zuerst müssen wir herausfinden, wo Formulare, die Daten speichern, deinstalliert wird. Ein kurzer Blick auf die source code zeigt, dass es im Roaming-Ordner in der Datei PropertyStore.forms gespeichert ist.

Ich kenne keine Deinstallationserkennung. Deshalb wy Ansatz wäre, die Eigenschaften beim ersten Start der App zu löschen. Der Beispielcode ist für Windows Phone 8.1, auf anderen Windows Phone-Plattformen müssen Sie store the first launch flag differently.

App.xaml.cs

public sealed partial class App : Application 
{ 
    const string settingsAppLaunched = "appLaunched"; 

    public static bool IsFirstLaunch() 
    { 
     var settings = Windows.Storage.ApplicationData.Current.LocalSettings; 
     return !settings.Values.ContainsKey(settingsAppLaunched); 
    } 

    protected override void OnLaunched(LaunchActivatedEventArgs e) 
    {   
     // ... 

     if (rootFrame == null) 
     { 
      // ... 
      Xamarin.Forms.Forms.Init(e); 

      if (IsFirstLaunch()) 
      { 
       var settings = Windows.Storage.ApplicationData.Current.LocalSettings; 
       settings.Values[settingsAppLaunched] = true; 
       Xamarin.Forms.Application.Current.Properties.Clear(); 
      } 
     }   
     // .. 
    } 
} 
+0

vielen Dank. – Jebanisa