获取手机号码Xamarin.Android?

获取手机号码Xamarin.Android?,android,xamarin,xamarin.android,monodevelop,Android,Xamarin,Xamarin.android,Monodevelop,我发现一些用户共享的代码在我的项目中不起作用。有没有更好的解决方案 TelephonyManager tMgr = (TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE); String mPhoneNumber = tMgr.getLine1Number(); 我在getLine1Number()和mAppContext上收到一个错误,您是否将添加到清单中 这不是很完美,但这是唯一的办法(至少据我所知

我发现一些用户共享的代码在我的项目中不起作用。有没有更好的解决方案

TelephonyManager tMgr = (TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
String mPhoneNumber = tMgr.getLine1Number();
我在
getLine1Number()
mAppContext

上收到一个错误,您是否将
添加到清单中

这不是很完美,但这是唯一的办法(至少据我所知)。这里有更广泛的讨论

您是否将
添加到清单中


这不是很完美,但这是唯一的办法(至少据我所知)。这里有更广泛的讨论

您的代码是针对本机的Android(Java)。请尝试下面的代码Xamarin.Android(c#)

代码:

所需权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 


[编辑]

有时,如果号码不可用,则
Line1Number
属性将返回
null
,但它没有说明该号码何时不可用

发生这些情况的原因是手机中没有注册电话号码,或者是设备制造商设置的一些限制

发件人:

返回第1行的电话号码字符串,例如,GSM电话的MSISDN。如果不可用,则返回null

所以你做的一切都是对的,但是没有储存电话号码


如果您获得
null
,您可以显示一些内容,让用户自己输入电话号码。

您的代码是针对本机Android(Java)。请尝试下面的代码Xamarin.Android(c#)

代码:

所需权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 


[编辑]

有时,如果号码不可用,则
Line1Number
属性将返回
null
,但它没有说明该号码何时不可用

发生这些情况的原因是手机中没有注册电话号码,或者是设备制造商设置的一些限制

发件人:

返回第1行的电话号码字符串,例如,GSM电话的MSISDN。如果不可用,则返回null

所以你做的一切都是对的,但是没有储存电话号码


如果您得到
null
,您可以显示一些内容,让用户自己输入电话号码。

可能与您得到的错误重复?“mAppContext在当前上下文中不存在”和“TelephonyManager不包含GetLine1Number()的防御”@LuisViolas:您的代码在本机Android(Java)中。您必须使用Xamarin.Android(C#)。请尝试以下操作:可能与您遇到的错误重复?“mAppContext在当前上下文中不存在”和“TelephonyManager不包含GetLine1Number()的防御”@LuisViolas:您的代码使用本机Android(Java)编写。您必须使用Xamarin.Android(C#)。试试这个:工作了,谢谢,现在我没有错误,但是当我运行我的程序时,屏幕上没有显示任何内容screen@LuisViolas:然后将出现一些其他错误或异常。通过在代码中使用断点进行检查。我的字符串“mPhoneNumber”始终为空,为什么?有效,谢谢,现在我没有错误,但当我运行程序时,屏幕上没有显示任何内容screen@LuisViolas:然后将出现一些其他错误或异常。在代码中使用断点进行检查。我的字符串“mPhoneNumber”总是空的,为什么?