Xamarin.Forms - получите поставщика услуг сотовой связи для Android и ios - PullRequest
0 голосов
/ 29 апреля 2020

Есть ли способ получить оператора сотовой связи за Android или iOS?

Спасибо.

1 Ответ

0 голосов
/ 30 апреля 2020

Согласитесь с Джейсоном, вы можете использовать для этого зависимый сервис.

Прежде всего, создайте интерфейс в PCL.

    public  interface ICellphoneProvider
    {
        string GetCellphoneProvider();
    }

Используйте его со следующим кодом

string phoneProvider =DependencyService.Get<ICellphoneProvider>().GetCellphoneProvider();

Достигните интерфейса ICellphoneProvider в Android.

[assembly: Dependency(typeof(CellPhoneProviderService))]
namespace Xaminals.Droid
{
    class CellPhoneProviderService : ICellphoneProvider
    {
        public string GetCellphoneProvider()
        {
            Android.Telephony.TelephonyManager manager = (Android.Telephony.TelephonyManager)Android.App.Application.Context.GetSystemService(Context.TelephonyService);
            string carrierName = manager.NetworkOperatorName;
            return carrierName;

        }
    }
}

Пожалуйста, добавьте android.permission.READ_PHONE_STATE разрешение в AndroidManifest.xml

Достигните ICellphoneProvider интерфейс в iOS.

[assembly: Dependency(typeof(CellPhoneProvideService))]
namespace Xaminals.iOS
{
    class CellPhoneProvideService : ICellphoneProvider
    {
        public string GetCellphoneProvider()
        {

            using (var info = new CTTelephonyNetworkInfo())
            {
                return info.SubscriberCellularProvider.CarrierName;
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...