Wie Sie wissen, die aktuelle OS / Plattform für die Ausführung von code (Android / iOS)
Mithilfe Von Xamarin.Android und Xamarin.iOS, muss ich jetzt das aktuelle OS in einer gemeinsamen code-Abschnitt. Sei es ein enum, ein int oder ein string ist, spielt keine Rolle.
Habe ich versucht, dieses:
System.Environment.OSVersion
Ist immer "Unix" mit einigen kernel-version Informationen.
Gibt es info auf Android wie zum Beispiel
Android.OS.Build.VERSION
Aber es muss in den Android-spezifische code-Abschnitt.
Gibt es eine Möglichkeit zu wissen, das aktuelle OS in einer gemeinsamen Bibliothek?
- Darf ich Fragen, was Sie tun möchten mit dieser info?
- mögliche Duplikate von so rufen Sie die android sdk-version?
- mein server (Bereitstellung von Daten und Diensten) muss wissen
who
die Anforderung (Anmeldung, push-Benachrichtigungen, einige spezifische Daten für die Benutzeroberfläche...) - NÖ. Die Frage, die Sie in Bezug auf ist über nur Android-SDK-version. Ich muss eine DISKRIMINANZANALYSE zwischen Android/iOS.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie auch versuchen, diese und es ist wahrscheinlich die beste Lösung, die ich gefunden :
Ich bin mit DeviceInfo plugin.
Es unterstützt
Android, iOs, Windows Phone Silverlight, Windows Phone RT, Windows Store RT, Windows 10 UWP
und es funktioniert perfekt.Kann es verwendet werden
PCL
wie folgt aus (Sie müssen die plugins für die Plattform-Projekte und zuPCL
):Diese Art von code ist keine gute Praxis in
PCL
, ist es besser, verwenden SieDependency Injection
(dieses plugin verwenden) anpassen Plattform-spezifische Verhalten.Mit Reflexion versuchen, um den Wert der
Monotouch.Version
Eigentum (und das äquivalent für die MfA: Android.OS.Bauen.VERSION). Einer der Aufrufe fehl, sollte der anderen, erfolgreich zu sein; deshalb Sie haben die Verwendung von reflection. Das ist für eine Reale Laufzeit überprüfen.Aber wie Ihre app wird kompiliert, zweimal, Sie können das Problem beheben, dass der Wert zur compile-Zeit.