ANDROID如何检测我的ip已经改变?

时间:2014-06-19 10:12:42

标签: android

我有一个应用程序。这个应用程序在服务器端口侦听。服务器发送到我的IP数据。我需要在我的ip更改时检测,例如,没有3g conexion,激活WIFI。这会生成一个新的ip,我需要将这个ip发送到服务器,服务器在这个新的ip中发送数据。问题是:我怎么知道我的ip何时改变了???

谢谢!

2 个答案:

答案 0 :(得分:0)

获取nw接口NetworkInterface.getNetworkInterfaces(),然后执行getInetAddresses()

这样的事情让连接改变了广播:

private class ConnectivityBroadcastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)
        // ...

答案 1 :(得分:0)

您可以通过为CONNECTIVITY_ACTION注册BroadcastReciever来获取此信息并执行以下操作:

ConnectivityManager connMananger = (ConnectivityManager) 
            context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo netInfo = connMananger.getActiveNetworkInfo();