2015-07-02 49 views

回答

1

那麼,如果你不在你所在的國家/州,並且打開手機,它將自動建立到漫遊夥伴網絡的GSM連接 - >TelephonyManager.isNetworkRoaming()將返回true。如果禁用數據漫遊或啓用'僅使用2g'NetworkInfo.isRoaming()將返回false,因爲沒有建立數據連接。如果您在NetworkInfo.isRoaming()上切換數據服務,也將返回true,因爲現在兩者(GSM和數據連接)都建立並處於漫遊模式。

因此,設置數據漫遊開啓/關閉將使NetworkInfo.isRoaming() return true/false

UPD:當用戶想知道用戶是否在2G/3G網絡上啓用漫遊時數據時使用。

ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
NetworkInfo ni = cm.getActiveNetworkInfo(); 
//[edit: check for null] 
if(ni != null) { 
    //...Here check if this is connected and available... 
    if (ni.isRoaming()) 
    { 
     // user has enabled data even while he is on Roaming!! 
    } 
} 
0

由於他特意問了一下無線上網的P2P正確答案,這將是一個未使用的字段漫遊只適用於蜂窩網絡和不適用於無線上網的P2P網絡信息。

您應該使用的有關wifi P2P的唯一字段是:isConnected(之後您通常會從wifip2pmanager請求連接信息)。