none
Ayuda con reconocimiento de equipo movil desde C# RRS feed

  • Pregunta

  • Hola a todos, ante todo agradecerles de ante mano por la ayuda que se me brinde. Bueno mi consulta es la siguiente: tengo este escenario, cuando el usuario va a usar por primera vez mi aplicación (C#) quisiera registrar el serial o código único del teléfono, para así saber en el futuro de que teléfono del usuario esta corriendo la aplicación. No tengo mucha experiencia en Windows phone les agradecería mucho si me dieran una mano, o me proporcionen otra solución ya que he estado googleando y no he encontrado nada al respecto, la idea es identificar los teléfonos del usuario de los cuales esta accediendo a la aplicación.

    Muchas gracias
    lunes, 20 de agosto de 2012 16:43

Respuestas

  • Hola!

    Para realizar esto, lo primero que tienes que hacer es añadir al archivo WMAppManifest.xml la capacidad de obtener la Id del dispositivo:

    <Capabilities>
        ...
        <Capability Name="ID_CAP_IDENTITY_DEVICE"/>
        ...
    </Capabilities>
    

    Una vez que tengas esto, ya puedes usar la clase DeviceExtendedProperties para pedir el DeviceUniqueId:

    string result = string.Empty;
    object deviceId;
    if (DeviceExtendedProperties.TryGetValue("DeviceUniqueId", out deviceId))
    {
        result = deviceId.ToString(); 
    }
    

    Con esto deberías poder obtener el id único. DeviceExtendedProperties está deprecado en Windows Phone 7.1 siempre que la característica que quieras consultar exista en la clase DeviceStatus, pero en este caso DeviceUniqueId no existe en DeviceStatus por lo que está permitido seguir usando DeviceExtendedProperties.

    Un saludo!


    MCTS - .NET 4.0 Windows Applications
    MCTS - .NET 4.0 Data Access
    MCTS - .NET 4.0 Service Communication Applications
    MCPD - .NET 4.0 Windows Developer
    Visita mi Blog en Geeks.ms
    Sigueme en Twitter

    martes, 21 de agosto de 2012 3:46
    Moderador

Todas las respuestas

  • Hola!

    Para realizar esto, lo primero que tienes que hacer es añadir al archivo WMAppManifest.xml la capacidad de obtener la Id del dispositivo:

    <Capabilities>
        ...
        <Capability Name="ID_CAP_IDENTITY_DEVICE"/>
        ...
    </Capabilities>
    

    Una vez que tengas esto, ya puedes usar la clase DeviceExtendedProperties para pedir el DeviceUniqueId:

    string result = string.Empty;
    object deviceId;
    if (DeviceExtendedProperties.TryGetValue("DeviceUniqueId", out deviceId))
    {
        result = deviceId.ToString(); 
    }
    

    Con esto deberías poder obtener el id único. DeviceExtendedProperties está deprecado en Windows Phone 7.1 siempre que la característica que quieras consultar exista en la clase DeviceStatus, pero en este caso DeviceUniqueId no existe en DeviceStatus por lo que está permitido seguir usando DeviceExtendedProperties.

    Un saludo!


    MCTS - .NET 4.0 Windows Applications
    MCTS - .NET 4.0 Data Access
    MCTS - .NET 4.0 Service Communication Applications
    MCPD - .NET 4.0 Windows Developer
    Visita mi Blog en Geeks.ms
    Sigueme en Twitter

    martes, 21 de agosto de 2012 3:46
    Moderador
  • Hola Juan!

    Gracias por responder, es justo lo que buscaba, solo una pequeña modificación tuve que hacer ya que el valor devuelto por el objeto deviceId es un Byte[] y no sirve con solo poner .ToString para convertirlo en cadena, cree una función que me recorra el byte[] y me cree la cadena, ya que las opciones que vi por internet no me funcionarón.

    Muchas gracias y saludos.

    miércoles, 22 de agosto de 2012 21:14