ioangrozniy
@ioangrozniy

Почему на эмуляторе Android работает нормально, а на реальном телефоне нет?

В Visual Studio 2017 на C# делаю приложение с Socket.IO.Client и запускаю в эмуляторе (Android 6.0 и 8.0) - всё работает как часы.
Архивирую и устанавливаю на телефон (Android 6.0) - не работает Socket.IO.Client.
Не могли бы помочь, подсказать, почему так?
MainActivity.cs
using Android.App;
using Android.Widget;
using Android.OS;
using Android.Support.V7.App;
using SocketIO.Client;
using System.Threading;

namespace App6
{
    [Activity(Label = "Программулина", Theme = "@style/AppTheme", MainLauncher = true, Icon ="@mipmap/exit")]
    public class MainActivity : AppCompatActivity
    {
        private Socket socket;

        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.activity_main);

            TextView info = FindViewById<TextView>(Resource.Id.textView1);
            info.Text = "Проверочка";
            //ДО СЮДА ВЫПОЛНЯЕТСЯ

            socket = IO.Socket("http://192.168.0.100:3333");
            socket.Connect();

            socket.On(Socket.EventConnect, (data) => {
                Print("Коннект", info);
                socket.Emit("add user", "Xamarin Android");
            });

            socket.On("message",(data)=>
            {
                Print(data[0].ToString(), info);
            });
        }
        private void Print (string text, TextView info)
        {
            RunOnUiThread(() => { info.Text = text; });
        }
    }
}


ПРОБЛЕМУ РЕШИЛ добавление манифеста:
<uses-permission android:name="android.permission.INTERNET" />

А почему при установке он не спрашивает разрешения на использование сети? Пишет: "Специальных прав доступа не требуется"
  • Вопрос задан
  • 1144 просмотра
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos
Отладчик/логи в зубы и смотреть.
Вариантов сильно много - от недосутпности IP до отсутствия пермишеннов на доступ прилаге в сеть.
Ответ написан
ioangrozniy
@ioangrozniy Автор вопроса
Запустил в отладчике, телефон попросил разрешения установить приложение, я разрешил. Запустилось приложение и работает.
Тогда я не понимаю почему то же самое приложение заархивированное в apk и установленное через проводник не работает?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы