如何解决如何在 xamarin 表单注册中获取电话号码
var tMgr = (TelephonyManager)Forms.Context.ApplicationContext.GetSystemService(Android.Content.Context.TelephonyService);
return tMgr.Line1Number;
此代码返回 null。
解决方法
首先,我们需要在AndroidManifest.xml
中添加权限<uses-permission android:name="READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
此外,Forms.Context
在 XF 2.5 之后已过时。所以我们可以使用来自 nuget 的插件 Plugin.CurrentActivity。
只需在 MainActivity 中的 OnCreate 上调用 Init 方法
CrossCurrentActivity.Current.Init(this,bundle);
并像下面一样访问它
var tMgr = (TelephonyManager)CrossCurrentActivity.Current.AppContext.GetSystemService(Android.Content.Context.TelephonyService);
return tMgr.Line1Number;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。