2012-03-25 23 views
-1

我想設置系統首選項(通過代碼)只使用2G網絡,而不是使用3G。到目前爲止,我還沒有找到任何可以幫助我的東西。我想我需要通過ConnectionManager進行設置?任何人都可以在這裏指出我正確的方向嗎?android:如何通過代碼限制數據訪問2g?

回答

-1

使用以下代碼 公共類CheckNetworkType延伸活動 { 私有靜態最後字符串標籤=「CheckNetworkType」;

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);   
    if(tm.getNetworkType() == TelephonyManager.NETWORK_TYPE_EDGE) 
    { 
     // Network type is 2G 
     Log.v(tag, "2G or GSM"); 
    } 
    else 
    if(tm.getNetworkType() == TelephonyManager.NETWORK_TYPE_CDMA) 
    { 
     // Network type is 2G 
     Log.v(tag, "2G or CDMA"); 
    } 
    else 
    if(tm.getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS) 
    { 
     // Network type is 3G 
     Log.v(tag, "3G Network available."); 
    }  
} 

}

+1

這將幫助我以什麼方式設置網絡代碼......?我不想獲取網絡類型,我想設置它! – xenonite 2012-03-30 10:04:25

+0

...非常苛刻您的評論和不請自來。 Deepak Gupta發佈的內容,實際上可以在應用程序中爲你工作,如果你稍微改編它的話。 拒絕訪問網絡如果(tm.getNetworkType()== TelephonyManager.NETWORK_TYPE_UMTS) 回到主題上,如果您願意,只能通過「黑客」或「模塊ROM」提出要求。 而它的ROM本身必須限制它而不是電話設置。 – 2012-04-05 14:31:48

+0

是的,它真的爲我工作檢查網絡avaliablity – 2012-04-06 08:05:24

3

不幸的是,你不能做到這一點。您可以做的最好的是讓用戶進入相關的設置屏幕(移動網絡設置),他們可以自己選擇。沒有API可以實際更改設置。

一些ROM(例如CyanogenMod)會將這些內容加入到系統中,並且如果您作爲系統應用程序進行了根/安裝,則可能會有選項,但是如果您希望標準/質量適用,那麼我恐怕你不在的運氣。