mrJavaC adlı üyeden alıntı: mesajı görüntüle
Merhaba, ilk önce anlamam gerektiği için soracağım. Login ekranında kullanıcı - > kullanıcı adını ve şifresini yazıp giriş butonuna basıyor üste ki action giriş butonuna ait. Ama 1 kere tıkladığında sms gitmiyor da 2 kere tıkladığında mı sms gidiyor?
Öncelikle ilgin için teşekkürler,
olay şöyle bu app instagram hesabına giriş yapıyor unofficial bir api ile, biz ilk giriş butonuna bastığımızda alttaki .login() fonksiyonu çalışıyor eğer iki faktörlü doğrulama yoksa direk giriyor ve başarılı diye toast gösteriyor burda bir sıkıntı yok, ancak iki faktörlü doğrulama açık ise onTwoFactor(lgnhnd) işleme giriyor ve lgnhnd fonksiyonunu veya Callable<String> her ne ise onu çağırıyor o da smsde gelen kodu döndürmeli fakat bu tek buton click eventinde olmalı çünkü 2. giriş isteğinde yeniden sms gidiyor, benim istediğim şu kullanıcı ikifaktor isimli EditTexte 6 haneli numarayı girmeden üstteki lgnhnd fonksiyonu return vermesin ki boş veya yanlış sms gitmesin sunucuya, bu unofficial apiyi yapan arkadaş masaüstüne kodladıgı için konsolda Scanner kullanmış malum scanner entere basmadan return vermiyor. ama androidde Scannerimz yok adamın kodunu aşşağıya ekliyorum.
package login;

import java.io.IOException;
import java.util.Scanner;
import java.util.concurrent.Callable;

import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;

import com.github.instagram4j.instagram4j.IGClient;
import com.github.instagram4j.instagram4j.IGClient.Builder.LoginHandler;
import com.github.instagram4j.instagram4j.utils.IGChallengeUtils;

import junitparams.FileParameters;
import junitparams.JUnitParamsRunner;

@RunWith(JUnitParamsRunner.class)
public class TwoFactorLoginTest {
    @Test
    @FileParameters("src/examples/resources/login.csv")
    public void testTwoFactor(String user, String pass) throws IOException {
        Scanner scanner = new Scanner(System.in);

        // Callable that returns inputted code from System.in
        Callable<String> inputCode = () -> {
            System.out.print("Please input code: ");
            return scanner.nextLine();
        };

        // handler for two factor login
        LoginHandler twoFactorHandler = (client, response) -> {
            // included utility to resolve two factor
            return IGChallengeUtils.resolveTwoFactor(client, response, inputCode);
        };

        IGClient client = IGClient.builder()
                .username(user)
                .password(pass)
                .onTwoFactor(twoFactorHandler)
                .simulatedLogin();

        Assert.assertNotNull(client.getSelfProfile());
    }
}