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

Respuesta
 
Herramientas
  #1  
Viejo 08/10/14, 17:18:52
Array

[xs_avatar]
Guixe94 Guixe94 no está en línea
Desarrollador
 
Fecha de registro: abr 2012
Localización: Barcelona, Catalunya
Mensajes: 900
Modelo de smartphone: HTC ONE y Galaxy Note 3
Tu operador: Orange
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
Responder Con Cita


  #2  
Viejo 08/10/14, 17:32:18
Array

[xs_avatar]
Dexafree Dexafree no está en línea
Mr. FAQMan
· Votos compra/venta: (1)
 
Fecha de registro: dic 2008
Mensajes: 8,021
Modelo de smartphone: Samsung Galaxy S i9000 + Galaxy Tab 10.1 WiFi
Tu operador: Movistar
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).
Responder Con Cita
  #3  
Viejo 08/10/14, 20:40:49
Array

[xs_avatar]
Guixe94 Guixe94 no está en línea
Desarrollador
 
Fecha de registro: abr 2012
Localización: Barcelona, Catalunya
Mensajes: 900
Modelo de smartphone: HTC ONE y Galaxy Note 3
Tu operador: Orange
 Cita: Originalmente Escrito por Dexafree Ver Mensaje
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).
El problema es que el premium esta administrador por google, por lo tanto yo al poner el codigo no hago que se vuelva premium si no que directamente le muestro la pantalla de premium y no la normal.. por eso me interesa que se haga al poner el codigo, ya que si no por ejemplo si uno compra el premium a los 5 dias se le quitaria no?

No se, nunca he tocado esto de los tiempos y me cuesta un poco pillarlo..
Responder Con Cita
  #4  
Viejo 08/10/14, 22:49:57
Array

[xs_avatar]
Dexafree Dexafree no está en línea
Mr. FAQMan
· Votos compra/venta: (1)
 
Fecha de registro: dic 2008
Mensajes: 8,021
Modelo de smartphone: Samsung Galaxy S i9000 + Galaxy Tab 10.1 WiFi
Tu operador: Movistar
 Cita: Originalmente Escrito por Guixe94 Ver Mensaje
El problema es que el premium esta administrador por google
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
Responder Con Cita
  #5  
Viejo 08/10/14, 22:51:39
Array

[xs_avatar]
Guixe94 Guixe94 no está en línea
Desarrollador
 
Fecha de registro: abr 2012
Localización: Barcelona, Catalunya
Mensajes: 900
Modelo de smartphone: HTC ONE y Galaxy Note 3
Tu operador: Orange
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..
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 03:25:09 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /