我的手机用蓝牙配对我的玻璃。我的手机连接到WiFi网络(我的玻璃没有连接到WiFi,它使用移动设备的WiFi)。
我知道我可以使用以下代码获取IP本地IP地址:
WifiManager wifiMgr = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiMgr.getConnectionInfo();
int ip = wifiInfo.getIpAddress();
String ipAddress = Formatter.formatIpAddress(ip);
如果我在平板电脑或智能手机中运行此代码,它可以正常工作,但如果我在我的玻璃杯中运行它,我会得到ip 0.0.0.0(记得我的玻璃是通过蓝牙连接到我的手机,这个是哪个有网络连接)。
那么,有什么建议吗?我需要这个,因为我的玻璃杯里有一个插座,我需要IP。
谢谢!
答案 0 :(得分:0)
任何活动现在都可以调用代码
public String getIP(){
WifiManager wifiMgr = (WifiManager) context.getSystemService(context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiMgr.getConnectionInfo();
int ip = wifiInfo.getIpAddress();
String ipAddress = Formatter.formatIpAddress(ip);
}
对任何有兴趣的人。上面的代码DID在Activity中为我工作。尝试:
Toast toast = Toast.makeText(this,
"IP Address:\n\r"+getIP(this), Toast.LENGTH_LONG);
toast.show();
也许您的用户界面没有更新,或将其打印到日志中。另一种可能性是您需要将以下内容添加到清单中:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
不确定你是否需要两者,但我需要同时使用我的应用程序,因为我做了很多网络,听起来你也是这样。