【发布时间】:2018-11-09 07:18:08
【问题描述】:
我正在开发一个 Xamarin 表单项目,并希望从设备中获取用户的电话号码。
请任何人指导我如何获取 Android、IOS 和 Windows Phone 的电话号码
请建议是否有任何 nuget 包或第三方库可用。
提前致谢
【问题讨论】:
标签: xamarin xamarin.forms xamarin.ios xamarin.android xamarin.uwp
我正在开发一个 Xamarin 表单项目,并希望从设备中获取用户的电话号码。
请任何人指导我如何获取 Android、IOS 和 Windows Phone 的电话号码
请建议是否有任何 nuget 包或第三方库可用。
提前致谢
【问题讨论】:
标签: xamarin xamarin.forms xamarin.ios xamarin.android xamarin.uwp
试试这个
TelephonyManager mTelephonyMgr;
mTelephonyMgr = (TelephonyManager)GetSystemService(TelephonyService);
var Number = mTelephonyMgr.Line1Number;
确保在清单中添加ReadPhoneState 权限
【讨论】:
如何获取 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。
对于 IOS,the short answer 是“不可能”。您必须要求用户手动输入。有私有 API 可以访问用户的电话号码,但 Apple 会拒绝您的应用。
【讨论】:
已经有插件可用,您可以使用 ContactsPlugin 在 Xamarin Forms 中获取联系人号码,
请检查以下链接是否相同。 https://github.com/jamesmontemagno/ContactsPlugin
谢谢
【讨论】: