android - snippet - title tag wordpress




Wie verwende ich die Smart Lock-API in meiner Anwendung, um den Mustermodus zu entsperren? (2)

Es könnte ein bisschen kompliziert sein, aber Google hat bereits riesige Docs über diese Verwendung zur Verfügung gestellt.

Um gespeicherte Anmeldeinformationen anzufordern, müssen Sie eine Instanz von GoogleApiClient , die für den Zugriff auf die Anmeldeinformationen-API konfiguriert ist.

mCredentialsApiClient = new GoogleApiClient.Builder(this)
    .addConnectionCallbacks(this)
    .enableAutoManage(this, this)
    .addApi(Auth.CREDENTIALS_API)
    .build();

Ein CredentialRequest-Objekt gibt die Anmeldesysteme an, von denen Sie Anmeldeinformationen anfordern möchten. Erstellen Sie CredentialRequest mit der setPasswordLoginSupported Methode für die kennwortbasierte Anmeldung und der setAccountTypes() -Methode für föderierte setAccountTypes() wie Google Sign-In.

mCredentialRequest = new CredentialRequest.Builder()
    .setPasswordLoginSupported(true)
    .setAccountTypes(IdentityProviders.GOOGLE, IdentityProviders.TWITTER)
    .build();

Nachdem Sie GoogleApiClient und CredentialRequest Objekte erstellt haben, übergeben Sie sie an die CredentialsApi.request() -Methode, um die für Ihre App gespeicherten Anmeldeinformationen anzufordern.

Auth.CredentialsApi.request(mCredentialsClient, mCredentialRequest).setResultCallback(
    new ResultCallback<CredentialRequestResult>() {
        @Override
        public void onResult(CredentialRequestResult credentialRequestResult) {
            if (credentialRequestResult.getStatus().isSuccess()) {
                // See "Handle successful credential requests"
                onCredentialRetrieved(credentialRequestResult.getCredential());
            } else {
                // See "Handle unsuccessful and incomplete credential requests"
                resolveResult(credentialRequestResult.getStatus());
            }
        }
    });

Verwenden Sie bei einer erfolgreichen Anmeldungsanforderung das resultierende Credential-Objekt, um die Anmeldung des Benutzers in Ihrer App abzuschließen. Verwenden Sie die Methode getAccountType() , um den Typ der abgerufenen Anmeldeinformationen zu bestimmen, und führen Sie dann den entsprechenden getAccountType() .

private void onCredentialRetrieved(Credential credential) {
    String accountType = credential.getAccountType();
    if (accountType == null) {
        // Sign the user in with information from the Credential.
        signInWithPassword(credential.getId(), credential.getPassword());
    } else if (accountType.equals(IdentityProviders.GOOGLE)) {
        // The user has previously signed in with Google Sign-In. Silently
        // sign in the user with the same ID.
        // See https://developers.google.com/identity/sign-in/android/
        GoogleSignInOptions gso =
                new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                        .requestEmail()
                        .build();
        mGoogleApiClient = new GoogleApiClient.Builder(this)
                .enableAutoManage(this, this)
                .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
                .setAccountName(credential.getId())
                .build();
        OptionalPendingResult<GoogleSignInResult> opr =
                Auth.GoogleSignInApi.silentSignIn(mGoogleApiClient);
        // ...
    }
}

Ich benutze Android 5.0. Die Version bietet die SmartLock-Funktion, mit der das Passwort / Muster durch Verbinden mit einem vertrauenswürdigen Gerät entsperrt werden kann. Ich habe ein Bluetooth Low Energy (BLE) -Gerät, das als vertrauenswürdiges Gerät registriert ist. Ich möchte die BLE verwenden, um das Telefon zu entsperren (Mustermodus). Es wird das Telefon entsperren, wenn BLE und Telefon verbunden sind und Daten durch das Ereignis verfügbar sind

if (BluetoothLeService.ACTION_DATA_AVAILABLE.equals(action)) 
// Calling unlock by the SmartLock API

Wenn Sie mit SmartLock gearbeitet haben, geben Sie mir bitte eine Anleitung dazu? Ich habe keine SmartLock API dafür gefunden.

Allen danken


Es gibt keine externe API als solche für SmartLock. Sie können Google Docs als Referenz verwenden.

Sie können dieses Beispiel auf GitHub überprüfen und hier finden Sie das Tutorial zur Integration der Smart Lock API in Ihre App.





google-smartlockpasswords