Ermitteln des Android N-Versionscodes

8

Ist es möglich zu erkennen, ob ein Benutzer Android N ausführt?

Ich habe ein Nexus 6 mit der Android N Developer Preview. Wenn ich versuche, die Build-Version mit Build.VERSION.SDK_INT zu erhalten, gibt es 23 zurück, was Android Marshmallow entspricht.

    
Exaqt 01.04.2016, 12:49
quelle

4 Antworten

10

Zitieren mich :

  

Nach dem Ansatz, den Google für die M Developer Preview verwendet hat,   Sie können stattdessen Build.VERSION.CODENAME überprüfen:

%Vor%

Ich habe nicht auf Build.VERSION.RELEASE geschaut, wie es der Kommentar von zgc7009 andeutet, obwohl auch das eine Möglichkeit sein könnte.

Wenn Sie das aus der fernen Zukunft lesen, wo Android N in der endgültigen Form ausgeliefert wurde, sollten Sie Build.VERSION.SDK_INT und Build.VERSION_CODES.N verwenden können. Der obige Hack ist auf die Eigenheiten zurückzuführen, wie Google mit diesen Entwicklervorschauen umgeht.

    
CommonsWare 01.04.2016, 12:59
quelle
2

Ansatz 1: (empfohlen) Verwenden Sie die Support-Bibliothek android.support.v4.os.BuildCompat.isAtLeastN .

Ansatz 2: Verwenden Sie dies als "echten" Versionscode: Build.VERSION.SDK_INT < 23 || Build.VERSION.PREVIEW_SDK_INT == 0 ? Build.VERSION.SDK_INT : Build.VERSION.SDK_INT + 1 .

    
Mygod 15.05.2017 09:19
quelle
1

Ich würde empfehlen, den Integer-Wert zum Überprüfen der Android-Version anstelle von String

zu verwenden %Vor%

Denken Sie nur daran, dass in der Datei "manifests.xml" die Datei compileSdkVersion auf 24 oder höher gesetzt sein muss:

%Vor%     
Maher Abuthraa 07.11.2016 15:24
quelle
0

Ich habe festgestellt, dass das Verhalten von Build.VERSION.RELEASE und Build.VERSION.CODENAME ziemlich unterschiedlich ist, je nachdem, ob es sich um eine vollständige Produktionsversion von Android OS oder eine Entwicklervorschau handelt. Wir gingen mit dem folgenden Mechanismus. Sie können sich nicht auf einen einzigen Wert verlassen, wenn Sie mehr als ein Szenario berücksichtigen möchten.

Dies ist, was ich für ein Galaxy S7 mit einer Produktionsversion von Nougat und ein Nexus 5X mit O DP1 gefunden habe.

Galaxy S7 Nougat Build.VERSION.BASE_OS: Build.VERSION.CODENAME: REL Build.VERSION.INCREMENTAL: G930FXXU1DQB3 Build.VERSION.PREVIEW_SDK_INT: 0 Build.VERSION.RELEASE: 7.0 Build.VERSION.SDK_INT: 24 Build.VERSION.SECURITY_PATCH: 2017-01-01

Nexus 5X O Build.VERSION.BASE_OS: Build.VERSION.CODENAME: O Build.VERSION.INCREMENTAL: 3793265 Build.VERSION.PREVIEW_SDK_INT: 1 Build.VERSION.RELEASE: O. Build.VERSION.SDK_INT: 25 Build.VERSION.SECURITY_PATCH: 2017-03-05

%Vor%     
the_new_mr 18.05.2017 14:39
quelle

Tags und Links