Android设备有静态IP地址吗?

时间:2012-02-20 23:28:36

标签: android ip

Android设备是否只有一个静态IP地址,服务器可以识别它们?我想知道simce可以让我的游戏在不需要登录的情况下保存数据。

3 个答案:

答案 0 :(得分:13)

这完全取决于他们所连接的内容。默认情况下,没有。大多数Android设备都配置为DHCP用于无线网络,我不知道有任何运营商为其数据网络上的移动设备分配静态IP地址。

答案 1 :(得分:9)

正如其他人已经回答的那样,不,移动设备通常没有静态IP地址,而是使用DHCP来获取动态IP地址。

但是,要回答您的基本问题,您可以使用java.util.UUID class为用户生成唯一令牌。将此生成的令牌保存到您应用的SharedPreferences中,您可以使用它来识别您的用户:

public static String getDeviceUuid(Context context) {
    final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);

    // Attempt to get an existing device uuid
    String uuid = preferences.getString("device_uuid_key", "");
    if (TextUtils.isEmpty(uuid)) {
        // We don't have a device id, generate one!
        uuid = UUID.randomUUID().toString();

        // Persist the new id to shared preferences
        final Editor editor = preferences.edit();
        editor.putString("device_uuid_key", uuid);
        editor.commit();
    }
    return uuid;
}

答案 2 :(得分:6)

Android设备既可以通过WiFi连接,也可以通过3G连接,显然有不同的IP 每次重新连接时,3G上的IP地址也会发生变化。