Os dispositivos Android têm um endereço IP estático?

Os dispositivos Android têm um único endereço IP estático que um servidor possa identificar? Estou imaginando simce que permitiria que o meu jogo para salvar dados sem precisar de um login.

 10
Author: user1221431, 2012-02-21

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.

 13
Author: Chris Thompson, 2012-02-20 23:30:27

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;
}
 8
Author: twaddington, 2012-02-20 23:36:34

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.

 6
Author: MiniGod, 2012-02-20 23:31:57