2016-04-21 6 views
-1

In der Dokumentation von Android N Vorschau erwähnt:Wie erkennt man einen CTS-zugelassenen Android Build?

Diese frühen Builds nicht Compatibility Test Suite (CTS) zugelassen ist. Apps, die von CTS-genehmigten Builds abhängen, funktionieren nicht (z. B. Android Pay).

In meiner Android App möchte ich überprüfen, ob das Gerät/Build beim ersten Start CTS-zugelassen ist. Ist das möglich? Wie funktioniert Android Pay?

+0

Link zur Dokumentation: http://developer.android.com/preview/support.html#general (könnte bald veraltet sein) – friedger

Antwort

3

Die SafetyNet API ermöglicht es Ihnen, eine Kompatibilitätsprüfung ausgeführt werden, die:

ermöglicht Ihre Anwendung zu überprüfen, ob das Gerät, wo sie paßt das Profil einer Vorrichtung ausgeführt wird, die Android-Kompatibilitätstests bestanden hat. Bei der Kompatibilitätsprüfung wird ein Geräteprofil erstellt, indem Informationen über die Hardware- und Softwareeigenschaften des Geräts einschließlich der Plattformerstellung erfasst werden.

Sobald Sie ein GoogleApiClient mit der SafetyNet.API angeschlossen haben, können Sie

byte[] nonce = getRequestNonce(); // Should be at least 16 bytes in length. 
SafetyNet.SafetyNetApi.attest(mGoogleApiClient, nonce) 
.setResultCallback(new ResultCallback<SafetyNetApi.AttestationResult>() { 
    @Override 
    public void onResult(SafetyNetApi.AttestationResult result) { 
    Status status = result.getStatus(); 
    if (status.isSuccess()) { 
     // Indicates communication with the service was successful. 
     // result.getJwsResult() contains the result data 
    } else { 
     // An error occurred while communicating with the service 
    } 
    } 
}); 

nennen Und die Antwort als pro the instructions analysieren, für "ctsProfileMatch": true in der resultierenden JSON suchen.

+0

Schön, irgendwelche Ideen was zu tun, wenn Google Play Services nicht verfügbar sind? – friedger

+0

Nur Google hat eine Liste von Geräten, die CTS bestanden haben. Ohne die Verbindung des Google Play-Dienstes mit dem Google-Server gibt es keine Möglichkeit, dies zu überprüfen. – ianhanniballake

Verwandte Themen