Android(安卓)获取外网IP地址 (Wifi 4G 通用)
16lz
2021-01-26
import android.os.Bundle;
import android.os.Looper;
import com.alibaba.fastjson.JSON;
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
public class GetIPActivity extends AppCompatActivity {
private String ip;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_get_ip);
new Thread(new Runnable() {
@Override
public void run() {
Looper.prepare();
getIp();
Looper.loop();
}
}).start();
}
private String getIp() {
HttpURLConnection urlConnection = null;
try {
URL url = new URL("http://ip.chinaz.com/getip.aspx");
urlConnection = (HttpURLConnection)url.openConnection();
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
Scanner scanner = new Scanner(in).useDelimiter("\\A");
String result = scanner.hasNext() ? scanner.next() : "";
if (!result.isEmpty()){
Toast.makeText(this,result,Toast.LENGTH_SHORT).show();
ip = JSON.parseObject(result).getString("ip");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
urlConnection.disconnect();
return ip;
}
}
}
import android.os.Looper;
import com.alibaba.fastjson.JSON;
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
public class GetIPActivity extends AppCompatActivity {
private String ip;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_get_ip);
new Thread(new Runnable() {
@Override
public void run() {
Looper.prepare();
getIp();
Looper.loop();
}
}).start();
}
private String getIp() {
HttpURLConnection urlConnection = null;
try {
URL url = new URL("http://ip.chinaz.com/getip.aspx");
urlConnection = (HttpURLConnection)url.openConnection();
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
Scanner scanner = new Scanner(in).useDelimiter("\\A");
String result = scanner.hasNext() ? scanner.next() : "";
if (!result.isEmpty()){
Toast.makeText(this,result,Toast.LENGTH_SHORT).show();
ip = JSON.parseObject(result).getString("ip");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
urlConnection.disconnect();
return ip;
}
}
}
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer