什么" isRoaming"在Wifip2p networkinfo意味着什么?

时间:2015-07-02 09:14:16

标签: android android-wifi wifi-direct wifimanager wifip2p

Wifip2p网络信息中isRoaming的含义是什么意思? [http://developer.android.com/reference/android/net/NetworkInfo.html#isRoaming()]  它告诉该网络上的数据使用可能会产生额外费用?它指的是哪些数据以及如何使用会产生额外费用?

2 个答案:

答案 0 :(得分: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!!
  }
}

答案 1 :(得分:0)

由于他特别询问了Wifi P2P的正确答案,这将是一个未使用的领域,因为漫游只适用于蜂窝网络,不适用于Wifi P2P网络信息。

您应该使用的有关wifi P2P的网络信息的唯一字段是:isConnected(之后您通常会从wifip2pmanager请求连接信息)。