【问题标题】:Fetch phone number for Android, IOS and Windows Phone获取 Android、IOS 和 Windows Phone 的电话号码
【发布时间】:2018-11-09 07:18:08
【问题描述】:

我正在开发一个 Xamarin 表单项目,并希望从设备中获取用户的电话号码。

请任何人指导我如何获取 Android、IOS 和 Windows Phone 的电话号码

请建议是否有任何 nuget 包或第三方库可用。

提前致谢

【问题讨论】:

    标签: xamarin xamarin.forms xamarin.ios xamarin.android xamarin.uwp


    【解决方案1】:

    试试这个

    TelephonyManager mTelephonyMgr;
    
       mTelephonyMgr = (TelephonyManager)GetSystemService(TelephonyService);
    
       var Number = mTelephonyMgr.Line1Number;
    

    来源:Xamarin Forum

    确保在清单中添加ReadPhoneState 权限

    【讨论】:

    • 这仅适用于 Android。我猜 Windows Phone 和 IOS 在获取用户电话号码方面有一些限制。
    【解决方案2】:

    如何获取 Android、IOS 和 Windows Phone 的电话号码。

    对于 Windows Phone,您可以在 Windows Phone 应用程序中获取 SIM MSISDN 和 IMSI 号码。请注意,您应该手动编辑您的应用程序Package.appxmanifest,如下所示:

    <Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" 
        xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
        xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
        xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
        IgnorableNamespaces="uap mp rescap">
    
    ......
    
    <Capabilities>
        <rescap:Capability Name="cellularDeviceIdentity" />
    </Capabilities>
    

    您可以使用MobileBroadbandModem 类来获取所有CurrentDeviceInformation。有关更多信息,您可以参考此case reply。请注意,在上述情况下,您不能使用直接回复的代码。您需要在 Xamarin.Forms 库中为 UWP 项目创建 DependencyService

    对于 IOSthe short answer 是“不可能”。您必须要求用户手动输入。有私有 API 可以访问用户的电话号码,但 Apple 会拒绝您的应用。

    【讨论】:

      【解决方案3】:

      已经有插件可用,您可以使用 ContactsPlugin 在 Xamarin Forms 中获取联系人号码,

      请检查以下链接是否相同。 https://github.com/jamesmontemagno/ContactsPlugin

      谢谢

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-07
        • 2016-04-16
        • 2013-11-14
        • 1970-01-01
        • 2017-04-14
        相关资源
        最近更新 更多