|
||
|
![]() |
![]() |
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
Herramientas |
#1
|
||||
|
||||
Ejecutar acción al pasar x dias?
Hola,
Vengo de aqui --> http://www.htcmania.com/showthread.php?t=902277 Ya consegui que me funcionase, y ahora pues genero unos codigos que permiten a la gente provar la versión pro.. Hasta ahora pues pulsaba el boton "codigo" ponia el codigo etc y se activivava, entonces el boton "codigo" lo cambiaba por uno que se llama reset y me vuelve a la versión normal. es un boton del menu utilizo esto simplemente: [PHP] public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_upgrade) { launchRedeemFlow(); return true; } else if (id == R.id.action_reset) { Verifier.reset(this); invalidateOptionsMenu(); setMessage(); return true; } return super.onOptionsItemSelected(item); }[/PHP] Bueno, hasta aqui esta todo ok, el problema viene ahora, claro si no pulsan el botón reset se quedan la versión pro pues.. toda la vida vamos xd.. Me gustaria saber como hacer para que por ejemplo a los 5 dias de ejecutar la accion de actualizar a la version pro (pongan el codigo) pues que se ejecute directamente la accion reset. Alguna ayudita? Tengo mas o menos una idea por lo que he mirado he creado esto asi: [PHP] public static void app_launched(Context mContext) { SharedPreferences prefs = mContext.getSharedPreferences("apprater", 0); if (prefs.getBoolean("dontshowagain", false)) { return; } SharedPreferences.Editor editor = prefs.edit(); // Get date of first launch Long date_firstLaunch = prefs.getLong("date_firstlaunch", 0); if (date_firstLaunch == 0) { date_firstLaunch = System.currentTimeMillis(); editor.putLong("date_firstlaunch", date_firstLaunch); } // Wait at least n days before opening if (launch_count >= LAUNCHES_UNTIL_PROMPT) { if (System.currentTimeMillis() >= date_firstLaunch + (DAYS_UNTIL_PROMPT * 24 * 60 * 60 * 1000)) { showRateDialog(mContext, editor); } } editor.commit(); }[/PHP] Pero no sabria como declarar eso en el oncreate.. alguien me puede ayudar? Merci
__________________
|
|
#2
|
||||
|
||||
No pienses en que se ejecute la acción pasados X dias, ya que a ti el momento en el que se realice te es indiferente, solo te importa que tras pasar 5 dias la aplicación vuelva a su estado normal
Puedes poner una comprobación al inicio de la aplicación para que compruebe si es premium (han pasado los 5 días, comprobando con el segundo código que has puesto) o no, la cual se lanzará a cada inicio (imagino que no requiere de red ni nada parecido, ya que según parece lo estás almacenando todo como SharedPreferences).
__________________
|
#3
|
||||
|
||||
No pienses en que se ejecute la acción pasados X dias, ya que a ti el momento en el que se realice te es indiferente, solo te importa que tras pasar 5 dias la aplicación vuelva a su estado normal
Puedes poner una comprobación al inicio de la aplicación para que compruebe si es premium (han pasado los 5 días, comprobando con el segundo código que has puesto) o no, la cual se lanzará a cada inicio (imagino que no requiere de red ni nada parecido, ya que según parece lo estás almacenando todo como SharedPreferences). ![]() No se, nunca he tocado esto de los tiempos y me cuesta un poco pillarlo..
__________________
|
#4
|
||||
|
||||
Cada vez que quieres comprobar el premium tiras de la comprobacion con el servidor de Google?
Creo que ya se recomendo en otro post, puedes guardar algo que solo tu conozcas en la memoria del telefono, y que mediante eso puedas comprobar si el usuario es premium (ej: Una palabra que solo tu conozcas, el IMEI del terminal, lo cifras con una clave que tambien solo tu conozcas, y el contenido lo guardas en un archivo) Haciendo eso podrías hacer la comprobación: 1.- Más rapido 2.- Aunque no haya conexión de red
__________________
|
#5
|
||||
|
||||
Ya. Pero es que muchas de las cosas que utilizo en el premium necesitas conexion a internet ya que cargan datos externos.. por eso no lo hice asi al final..
__________________
|
![]() |
![]() |
||||||
|