【问题标题】:Xamarin.Forms - Get cellphone provider for both Android and iosXamarin.Forms - 获取 Android 和 ios 的手机提供商
【发布时间】:2020-08-14 02:48:23
【问题描述】:

有没有办法获取 Android 或 iOS 的手机供应商?

谢谢。

【问题讨论】:

标签: c# xamarin.forms


【解决方案1】:

同意Jason,可以使用dependencyService来实现。

首先,在PCL中创建一个接口。

    public  interface ICellphoneProvider
    {
        string GetCellphoneProvider();
    }

与以下代码一起使用

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

在Android中实现ICellphoneProvider接口。

[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;

        }
    }
}

请在AndroidManifest.xml中添加android.permission.READ_PHONE_STATE权限

在iOS中实现ICellphoneProvider接口。

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

            using (var info = new CTTelephonyNetworkInfo())
            {
                return info.SubscriberCellularProvider.CarrierName;
            }
        }
    }
}

【讨论】:

  • 这个问题有更新吗?如果此回复有帮助,请将其标记为答案(点击此答案左上角的✔),它将帮助其他有类似问题的人。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-20
  • 1970-01-01
  • 1970-01-01
  • 2014-05-04
  • 2014-03-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多