¿Cómo administrar la caducidad de prueba sin conexión para una aplicación de Android?

He desarrollado una aplicación que quiero compartir con mis clientes. Quiero compartir su ensayo, cuidando los siguientes puntos

  1. La aplicación debe caducar (es decir, el usuario no puede moverse de la actividad principal) después de 30 días
  2. No se requiere conexión a Internet para mi aplicación, por lo que no quiero administrar la caducidad de la prueba administrando un servidor donde se puede almacenar el IMEI del dispositivo o algo así.
  3. Quiero restringir el uso de la aplicación por parte del usuario, incluso si la desinstala y luego vuelve a instalar mi aplicación.
  4. Quiero proteger la versión de prueba de la aplicación contra un cambio de fecha manual que normalmente aplican los usuarios

Estaba planeando mantener un archivo para mi aplicación con el token de tiempo de la primera ejecución guardado en él, que se puede comparar con el tiempo de GPS en cada ejecución, pero el problema al que me enfrento aquí es el almacenamiento de archivos. Si guardo un archivo en la memoria interna, se elimina con la desinstalación de la aplicación y no se puede usar cuando el usuario vuelve a instalar la aplicación y si lo almaceno en la tarjeta SD/memoria externa, es vulnerable a la eliminación del usuario. He investigado este problema desde todos los lugares que he podido, pero no he tenido éxito. Cualquier idea o sugerencia de ustedes sería un alivio. :-)

preguntado el 04 de julio de 12 a las 06:07

Creo que cubriste muy bien tus posibilidades. Yo consideraría la opción del servidor. La mayoría de los usuarios de Android deberían tener acceso a Internet y no debería ser un gran problema. -

Mi aplicación está sujeta a ser utilizada en áreas remotas donde no hay acceso a Internet disponible. No puedo usar la opción del servidor teniendo en cuenta la limitación mencionada :-( -

Ya veo, una solución de compromiso podría ser la necesidad de activar la versión de prueba en línea y generar algún tipo de archivo de marca de tiempo encriptado en sd. qué usuario no puede leer debido al cifrado y cuál es necesario para ejecutar. Por supuesto, la manipulación del tiempo del dispositivo es posible. pero ¿cuántos usuarios irían de esa manera? -

Tiene razón, sin acceso a Internet, esta puede ser la única solución. Como dijiste sobre el cifrado, está bien, pero el problema es que el cifrado no protege el archivo para que no se elimine y los funcionarios superiores tienen dudas sobre qué sucede si el usuario es avanzado y elimina el archivo de la tarjeta SD. yo tambien he investigado Guardar archivo en el directorio del sistema Android enfoque que de alguna manera es seguro pero requiere acceso de root que no está permitido. Sé que esto es más que un simple aislamiento y no puede conducir a una solución, pero esto es lo que se les indica a los desarrolladores que hagan. "Encuentra la solución". -

¿Cómo solucionaste tu problema? Tengo un problema similar, no sé cómo hacerlo. -

1 Respuestas

Habrá acceso a Internet cuando la aplicación esté instalada, o no podrán instalarla.

Simplemente solicite que el usuario active la aplicación con un servidor la primera vez que la use. La aplicación recibe una respuesta "esta aplicación se activó por primera vez en aaaa-mm-dd" del servidor y almacena esa información en un archivo en el almacenamiento interno. A partir de ese momento, el usuario no necesitará estar en línea para usar la aplicación.

respondido 02 mar '13, 16:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.