2014-03-12 204 views
3

我正在使用Windows Phone 8 C#/ XAML .NET 4.5應用程序,並且我需要用戶發送SMS(短信撰寫任務,簡單)的功能,但在此之前,我會喜歡檢查發送短信是否有可能。檢查是否存在SIM卡

所以我的問題是如何檢查手機是否已安裝SIM卡(或可以撥打/發送短信)?

我一直試圖谷歌它一段時間,但沒有得到任何接近任何可用或信息搜索結果。

P.S .:我的應用程序也使用web服務,所以有另一個相關的問題:有沒有辦法檢查是否有任何互聯網連接可用?

(第二個問題並不重要,第一個是困擾我)

+1

有沒有辦法簡單地ping一個網站來檢查是否有一個網絡連接?我會說做同樣的事情來檢查是否有SIM(移動數據),但由於WiFi的高可用性,這可能不會有效。另一個問題是,有多少手機在沒有SIM的情況下實際工作?我知道模擬器(這可能是您想檢查的原因).. – TheGeekZn

+0

@NewAmbition所有手機都依法運作,無需SIMS,但只適用於緊急呼叫。 911必須在沒有合同的情況下處理。 – TomTom

+0

@TomTom我明白,但請原諒我的天真,短信的工作(這是我的觀點)? – TheGeekZn

回答

1

有沒有一種方法來檢查是否有互聯網連接可用?

當然。連接到您的服務,運行ping到一個已知的位置。由於用戶的成本,務必不要太頻繁地做。

如何檢查手機是否已安裝SIM卡(或可以撥打/發送短信)?

不可能。不太明智 - 如果手機登錄SIM卡,IIRC短信可用,並有99.9999%的機會。人們不會在沒有SIM卡的情況下在手機上運行應用程序;)(儘管從技術上講,原因之一是在緊急情況下在車內安裝手機 - 網絡必須在沒有有效,無SIM卡或沒有SIM卡的情況下處理911,這就是爲什麼電話說,「只有緊急呼叫」在啓動時沒有SIM卡。

但通常我會假設SMS服務。

禰是檢查經營者的API,但是這並不意味着運營商將處理短信....卡可能會被暫時阻止(想象一下:出錢預付卡 - 可以登錄,可以接聽電話,不能發送)

+0

有效的觀點。謝謝,就像你提出的那樣,我意識到我並不完全需要檢查它,只是深深地思考我的想法,我認爲我需要它.BTW:比如我,作爲一個「開發人員」(仍然不確定我是否擁有使用標題的權利),我的桌子上有4或5部電話(取決於星期幾,測試人員,老闆心情和收視位置),其中只有兩部SIM卡,儘管所有人都安裝了應用程序,加載的聯繫人,連接到Wi-Fi等 – mishan

+0

@mishan是的,但你可能會意識到,大多數人實際上使用電話,並不只是在他們身上發展。根據百分比,開發者的用例極其罕見;) – TomTom

+0

這就是我意識到的感謝你的回答:) – mishan

1
//To check internet connection 
if (DeviceNetworkInformation.IsNetworkAvailable) 
{ 
MessageBox.Show("Network available"); 
} 
else 
{ 
MessageBox.Show("No Network"); 
} 

//To check mobile operator 
if(!string.IsNullOrEmpty(DeviceNetworkInformation.CellularMobileOperator)) 
{ 
MessageBox.Show(DeviceNetworkInformation.CellularMobileOperator.ToString()); 
} 
+1

可悲的是,這不起作用 - 登錄並不意味着獲得服務,因爲卡可能被阻止。該問題要求發送短信的能力,而不是運營商的可用性。不能發送短信可能是例如沒有餘額的預付卡。 – TomTom

+0

@TomTom:好的,儘管這種方法並不理想,但對於我來說,解決方法已足夠。 :)如果有更好的方法,我會很高興,但作爲基本檢查,這已經足夠了。 – mishan