gpt4 book ai didi

java - 我的 Android 应用程序如何检测 IP 地址范围

转载 作者:行者123 更新时间:2023-12-01 12:46:20 25 4
gpt4 key购买 nike

我希望我的 Android 应用程序基本上能够检测一系列 IP 地址,从 192.168.150.0 - .255,并且我希望它将其放入 void onStart,我创建了一个数组,但它不起作用。

这是我的主要 Activity 的 java 类

MediaPlayer playMusic;

@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
for(int array;array < 256;array++)
try {

if("192.168.150")
}
}

@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();

//playMusic.release();
}

/**
* Touch listener to use for in-layout UI controls to delay hiding the
* system UI. This is to prevent the jarring behavior of controls going away
* while interacting with activity UI.
*/
View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if (AUTO_HIDE) {
delayedHide(AUTO_HIDE_DELAY_MILLIS);
}
return false;
}
};

Handler mHideHandler = new Handler();
Runnable mHideRunnable = new Runnable() {
@Override
public void run() {
mSystemUiHider.hide();
}
};

/**
* Schedules a call to hide() in [delay] milliseconds, canceling any
* previously scheduled calls.
*/
private void delayedHide(int delayMillis) {
mHideHandler.removeCallbacks(mHideRunnable);
mHideHandler.postDelayed(mHideRunnable, delayMillis);
}

}

这是我的 java 类,用于在应用程序打开时检测 wifi

public class WiFiChangeBroadcastReceiver extends BroadcastReceiver {
private String LOGTAG = getClass().getSimpleName();

@Override
public void onReceive(Context context, Intent intent) {
Log.d(LOGTAG, "WiFi Status Changed");
if (intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
NetworkInfo networkInfo = intent
.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
if (networkInfo.isConnected()) {
Log.d(LOGTAG,
"Wifi is connected: " + String.valueOf(networkInfo));
}
}
}
}

最佳答案

使用它来获取 IP 地址:

public String getIpAddr() {
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ip = wifiInfo.getIpAddress();

String ipString = String.format(
"%d.%d.%d.%d",
(ip & 0xff),
(ip >> 8 & 0xff),
(ip >> 16 & 0xff),
(ip >> 24 & 0xff));

return ipString;
}

请注意:您需要添加 android.permission.INTERNETandroid.permission.ACCESS_WIFI_STATE在你的AndroidManifest.xml<user-permission/>访问代码。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

引用:https://stackoverflow.com/a/7975955/1239966

关于java - 我的 Android 应用程序如何检测 IP 地址范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24669761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com