Android设备是否只有一个静态IP地址,服务器可以识别它们?我想知道simce可以让我的游戏在不需要登录的情况下保存数据。
答案 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地址也会发生变化。