簡體   English   中英

獲取手機Xamarin.Android的號碼?

[英]Getting the number of the phone Xamarin.Android?

我發現某些用戶共享的代碼在我的項目中不起作用。 有誰有更好的解決方案?

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

我在getLine1Number()mAppContextmAppContext

您的代碼適用於本機Android(Java) 嘗試下面的Xamarin.Android(c#)代碼。

碼:

Android.Telephony.TelephonyManager tMgr = (Android.Telephony.TelephonyManager)this.GetSystemService(Android.Content.Context.TelephonyService);
string mPhoneNumber = tMgr.Line1Number;

所需權限:

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

[編輯]

有時,如果數字不可用Line1Number屬性將返回null ,但是它沒有說明數字何時不可用。

發生這種情況的原因是電話號碼未在您的手機中注冊,或者根據設備制造商創建的某些限制。

文檔

返回第1行的電話號碼字符串,例如GSM電話的MSISDN。 如果不可用,則返回null。

因此,您做對了所有事情,但是沒有存儲電話號碼。

如果為null ,則可以顯示一些內容,以使用戶自己輸入電話號碼。

您是否添加了<uses-permission android:name="android.permission.READ_PHONE_STATE"/>進行顯示?

這並不是真正的完美,但是是唯一的方法(至少據我所知)。 在這里進行更廣泛的討論,以編程方式獲取Android手機的電話號碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM