Os dispositivos Android têm um endereço IP estático?
3 answers
Isto depende inteiramente daquilo a que estão ligados. Por padrão, não. A maioria dos dispositivos Android são configurados para DHCP para redes sem fio e eu não sei de nenhuma operadora que atribui endereços IP estáticos para dispositivos móveis em suas redes de dados.
Como outras pessoas já responderam, Não, dispositivos móveis geralmente não têm um endereço IP estático e, em vez disso, usar DHCP para obter um endereço IP dinâmico.
No entanto, para responder à sua pergunta de base, pode gerar um token único para o utilizador usando o java.util.Classe UUID. Grava este item gerado nas 'SharedPreferences' da sua aplicação e poderá usá-lo para identificar os seus utilizadores:
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;
}
Um dispositivo Android pode ser conectado através de Wi-Fi, e 3G, que obviamente tem diferentes IPs.
O endereço IP no 3G também mudará cada vez que se reconectar.