J2ME獲取移動手機號碼

        J2ME本身的API是沒有提供這個方法的,但是我們通過CMWAP連接的時候,通過移動的網關來獲取,當然,前提是移動的網關要提供這個功能。 
        如果網關支持這個功能的話,我們就可以通過服務器端來獲得手機號碼了,以下代碼可以做爲測試,看看你連接的移動網關是不是支持:

    public static string GetPhoneNumber(HttpRequest request)
        {
            
string phone = "" ;
            NameValueCollection coll 
= null ;
            
try
            {
                coll 
= request.ServerVariables ;
            }
            
catch {}
            
try
            {
                
if (phone == "")
                {
                    phone 
= coll["HTTP_X_UP_CALLING_LINE_ID"].ToString() ;
                }
            }
            
catch {}
            
try
            {
                
if (phone == "")
                {
                    phone 
= coll["MISC_MSISDN"].ToString() ;
                }
            }
            
catch {}
            
try
            {
                
if (phone == "")
                {
                    phone 
= coll["x-up-calling-line-id"].ToString() ;
                }
            }
            
catch {}
            
try
            {
                
if (phone == "")
                {
                    phone 
= coll["HTTP_X_NOKIA_MSISDN"].ToString() ;
                }
            }
            
catch {}
            
try
            {
                
if (phone.Length > 11)
                {
                    phone 
= phone.Substring(2) ;
                }
            }
            
catch(Exception ex)
            {
                phone 
= ex.Message ;
            }

            
return phone ;
        }

 

客房端可以寫個簡單的測試程序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章