Как запустить приложение на реальном устройстве Android 8.1

#c# #android #xamarin #xamarin.android #visual-studio-2019

Вопрос:

Я разработал приложение для Android с использованием Xamarin.Android, и он отлично работает на Android 8.1 — Эмулятор API27. Когда я пытаюсь запустить на реальном устройстве, которым является терминал Newland MT9052, приложение всегда заполняет список отказов.

Когда я запускаю приложение в режиме отладки, хотя адрес электронной почты и пароль указаны правильно, приложение заполняет список ошибок.

Вот моя логинактивность.cs:

 TextInputLayout emailText;
        TextInputLayout passwordText;
        Button girisYapButton;
        TextView txtViewUyeOl;
        LinearLayout linearLayout;
        FirebaseAuth mAuth;
        TaskCompletionListener listener = new TaskCompletionListener();

       
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_login);
            // Create your application here
            emailText = (TextInputLayout)FindViewById(Resource.Id.textEmailLogin);
            passwordText = (TextInputLayout)FindViewById(Resource.Id.textSifreLogin);
            linearLayout = (LinearLayout)FindViewById(Resource.Id.linearLayout);

            girisYapButton = (Button)FindViewById(Resource.Id.buttonGirisYap);
            girisYapButton.Click  = GirisYapButton_Click;

            InitializeFirebase();
            
            txtViewUyeOl = (TextView)FindViewById(Resource.Id.textViewUyeOl);
            txtViewUyeOl.Click  = txtViewUyeOl_Click;
        }

        private void GirisYapButton_Click(object sender, EventArgs e)
        {
            string email, password;

            email = emailText.EditText.Text;
            password = passwordText.EditText.Text;

            if (!email.Contains("@"))
            {
                new Android.Support.V7.App.AlertDialog.Builder(this)
                    .SetPositiveButton("Tamam", (sender, args) =>
                    {

                    })
                    .SetMessage("Lütfen geçerli bir e-mail adresi giriniz!")
                    .SetTitle("Uyarı")
                    .Show();
                return;
            }
            else if(password.Length < 6)
            {
                new Android.Support.V7.App.AlertDialog.Builder(this)
                    .SetPositiveButton("Tamam", (sender, args) =>
                    {

                    })
                    .SetMessage("Lütfen en az 6 karakterli şifrenizi giriniz!")
                    .SetTitle("Uyarı")
                    .Show();
                return;
            }
            else
            {
                listener.Success  = Listener_Success;
                listener.Failure  = Listener_Failure;
                mAuth.SignInWithEmailAndPassword(email, password)
                    .AddOnSuccessListener(this, listener)
                    .AddOnFailureListener(this, listener);
                
            }

        }

        private void Listener_Failure(object sender, EventArgs e)
        {
            Snackbar.Make(linearLayout, "Email veya şifreniz yanlış!", Snackbar.LengthShort).Show();
        }

        private void Listener_Success(object sender, EventArgs e)
        {
            StartActivity(typeof(MainActivity));
        }

        void InitializeFirebase()
        {
            var app = FirebaseApp.InitializeApp(this);

            if (app == null)
            {
                var options = new FirebaseOptions.Builder()
                    .SetApplicationId("konumbulapp-1fc67")
                    .SetApiKey("AIzaSyA5yRMMJ8ztcdWbIcmOxLyY6Xl_xkDxWzI")
                    .SetDatabaseUrl("https://konumbulapp-1fc67-default-rtdb.firebaseio.com")
                    .SetStorageBucket("konumbulapp-1fc67.appspot.com")
                    .Build();

                app = FirebaseApp.InitializeApp(this, options);
                mAuth = FirebaseAuth.Instance;
                
            }
            else
            {
                mAuth = FirebaseAuth.Instance;
            }
        }
 

вот мой список задач.cs:

 public class TaskCompletionListener : Java.Lang.Object, IOnSuccessListener, IOnFailureListener
    {
        public event EventHandler Success;
        public event EventHandler Failure;

        public void OnSuccess(Java.Lang.Object result)
        {
            Success.Invoke(this, new EventArgs());
        }

        public void OnFailure(Java.Lang.Exception e)
        {
            Failure.Invoke(this, new EventArgs());
        }
    }
 

Это мои свойства приложения

Это мой манифест для Android

Я не знаю, что я делаю неправильно или чего мне не хватает.

Когда я создаю приложение, я не получаю ошибок.

Комментарии:

1. Вы действительно проверяли, какое исключение вы получаете при обратном вызове OnFailure в прослушивателе?