Помогите с onActivityResult

244
28 сентября 2017, 12:45

Есть авторизация в приложении с помощью VK SDK, щас надо сделать авторизацию с помощью GoogleSignInApi....Тоесть у меня после авторизации запускается лента новостей, при авторизации с вк проблем нет(он свой токен получил и запустил ленту), а вот в GoogleSignInApi получает свой токен, а нодо то и свой и токен от вк.....вот я и не понимаю как это реализовать

      public void onClickLoginVK(View view) {
                VKSdk.login(this, scopes);
            }

            public void onClickLoginGL(View view) {
                signIn();
            }
            @Override
            protected void onActivityResult(int requestCode, int resultCode, Intent data) {
                if (requestCode == RC_SIGN_IN) {
                    GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
                    handleSignInResult(result);
                    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                    startActivity(intent);
                    Toast.makeText(getBaseContext(), "Авторизация прошла успешно!!!", Toast.LENGTH_LONG).show();
                }else {
                    Toast.makeText(getBaseContext(), "Ошибка авторизации....", Toast.LENGTH_LONG).show();
                }
                if (!VKSdk.onActivityResult(requestCode, resultCode, data, new VKCallback<VKAccessToken>() {
                    @Override
                    public void onResult(VKAccessToken res) {
                        Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                        startActivity(intent);
                        Toast.makeText(getBaseContext(), "Авторизация прошла успешно!!!", Toast.LENGTH_LONG).show();
                    }
                    @Override
                    public void onError(VKError error) {
                        Toast.makeText(getBaseContext(), "Ошибка авторизации....", Toast.LENGTH_LONG).show();
                    }
                })) {
                    super.onActivityResult(requestCode, resultCode, data);
                }
            }
    private void signIn() {
            Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
            startActivityForResult(signInIntent, RC_SIGN_IN);
        }
    private void handleSignInResult(GoogleSignInResult result) {
            if (result.isSuccess()) {
                GoogleSignInAccount acct = result.getSignInAccount();
                String personName = acct.getDisplayName();
                String personPhotoUrl = acct.getPhotoUrl().toString();
                String email = acct.getEmail();
                txtex.setText(personName);
Ion.with(im).error(R.drawable.ic_about).animateGif(AnimateGifMode.ANIMATE).load(personPhotoUrl);
                } else {
                }
            }}

Как нить можно отловить токен с вк при авторизации с GoogleSignInApi ???

Answer 1

Вопрос не понятен, но надо так:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (!VKSdk.onActivityResult(requestCode, resultCode, data, new VKCallback<VKAccessToken>() {
        @Override
        public void onResult(VKAccessToken res) {
            Toast.makeText(getBaseContext(), "Авторизация прошла успешно!!!", Toast.LENGTH_LONG).show();
        }
        @Override
        public void onError(VKError error) {
            Toast.makeText(getBaseContext(), "Ошибка авторизации....", Toast.LENGTH_LONG).show();
        }
    })) {
        super.onActivityResult(requestCode, resultCode, data);
    } else if (requestCode == RC_SIGN_IN) {
        Toast.makeText(getBaseContext(), "Авторизация прошла успешно!!!", Toast.LENGTH_LONG).show();
    } else {
        Toast.makeText(getBaseContext(), "Ошибка авторизации....", Toast.LENGTH_LONG).show();
    }
}
READ ALSO
Запись массива в текстовый файл

Запись массива в текстовый файл

У меня на выходе программы двумерный массив 100 х 100 на Java, величина значений достаточно большаяНужно записать этот массив в текстовый файл

451
Не могу получить доступ к активити (Java android)

Не могу получить доступ к активити (Java android)

Я создал три активитиКаждый добавил в манифест

239
Как можно оптимизировать метод String getType(Object o)?

Как можно оптимизировать метод String getType(Object o)?

Не так давно у меня было собеседование в компанию LuxoftИ был задан такой вопрос - "На код ревью к вам приходит метод String getType(Object obj)

271