首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xamarin.Droid -获取设备电话号码

Xamarin.Droid -获取设备电话号码
EN

Stack Overflow用户
提问于 2017-03-28 10:39:22
回答 1查看 2K关注 0票数 1

我目前正在做一个Xamarin表单项目,在这个项目中,我需要能够从设备中获取用户的电话号码。它发现在iOS和Windows上是不可能做到这一点的,但是我仍然想在Android上这样做,这就是为什么我在互联网上找到了一段应该在Android上工作的代码。我在使用MVVM模式。

在我的ViewModel中,我试图以这样的方式获得电话号码:

代码语言:javascript
复制
   string phoneNumber = DependencyService.Get<IPhoneNumber>().GetPhoneNumber();

它从这个类调用此方法:

代码语言:javascript
复制
 public class PhoneNumber : IPhoneNumber
    {
        public string GetPhoneNumber()
        {
            TelephonyManager mTelephonyMgr;    
            mTelephonyMgr = (TelephonyManager)Application.Context.GetSystemService(Context.TelephonyService);    
            return mTelephonyMgr.Line1Number;
        }
    }

当我在visual的Android模拟器上运行我的应用程序时,我得到了一个由11位数字组成的电话号码。但是,当我在真正的设备上时,该方法返回一个空字符串("")。我已经将READ_PHONE_STATE权限放到了AndroidManifest.xml文件中。哦,当然,我的真正的设备有一个SIM卡插入,它只有一个SIM插槽。

我错过了什么吗?我会尽快在另一台设备上测试它,但目前还不可能。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-29 11:59:37

因此,正如Emad在评论我的问题时所说:

我很久以前就尝试过使用本地android程序,结果显示很多运营商都不提供这些信息。特别是在伊朗,非主动操作者会这样做。我听说这是违法的!这就是为什么像Telegram和Viber这样的应用程序询问您的电话号码的原因。

因此,经过几次进一步的研究,确实不可能在不询问用户的情况下确定电话号码。

希望能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43067351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档