Wifip2p networkinfo 中的“isRoaming”是啥意思?
Posted
技术标签:
【中文标题】Wifip2p networkinfo 中的“isRoaming”是啥意思?【英文标题】:what does "isRoaming" in the Wifip2p networkinfo mean?Wifip2p networkinfo 中的“isRoaming”是什么意思? 【发布时间】:2015-07-02 09:14:16 【问题描述】:Wifip2p网络信息中isRoaming是什么意思? [http://developer.android.com/reference/android/net/NetworkInfo.html#isRoaming()] 它告诉使用该网络上的数据可能会产生额外费用?它指的是哪些数据以及使用将如何导致额外费用?
【问题讨论】:
【参考方案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!!
【讨论】:
【参考方案2】:由于他专门询问了 Wifi P2P 的正确答案,因此这将是一个未使用的字段,因为漫游仅适用于蜂窝网络,不适用于 Wifi P2P 网络信息。
关于 wifi P2P,您应该使用的 networkinfo 的唯一字段是:isConnected(之后您通常会从 wifip2pmanager 请求连接信息)。
【讨论】:
以上是关于Wifip2p networkinfo 中的“isRoaming”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
ConnectivityManager.getActiveNetworkInfo() / NetworkInfo 在 API 29 中已弃用。有啥替代方案?