2009-08-03 19 views
9

Bonjour, est-ce que quelqu'un a un exemple de code sur la façon dont je peux lancer une bombe à retardement sur une application Android afin de ne pas fonctionner après une date donnée?Comment bomber une application Android?

Je voudrais lancer une application "beta" pour tester, mais j'aimerais m'assurer qu'elle ne fonctionnera que lorsque l'application est officiellement en version bêta.

+0

Je pense que c'est déjà répondu ici: [http://stackoverflow.com/questions/995719/android-trial-applications](http://stackoverflow.com/questions/995719/android-trial-applications) Bien , non pas avec des exemples de code – Tommy

Répondre

15

Je suggérerais d'utiliser la classe Calendar et d'avoir votre application vérifiant la date actuelle par rapport à votre date d'expiration dans votre OnResume (s).

Le code ressemblerait à quelque chose comme ceci:

protected void onResume() 
    { 
     super.onResume(); 

     Calendar expirationDate = Calendar.getInstance(); 
     expirationDate.set(2009, 7, 3); //hardcoded expiration date 
     Calendar t = Calendar.getInstance(); //Calendar with current time/date 
     if (t.compareTo(expirationDate) == 1) 
      finish(); 
    } 
+3

Le début de numérotation mois Java Calendrier classe à 0, pas 1. – Will

+2

Ainsi, le 15 Septembre serait: (2009, 8, 15) pense que c'est correct. – Tom

+0

Que faire si l'utilisateur change la date au passé? –

3

En outre, selon votre application, vous voudrez peut-être l'appel d'expiration faire un appel à un serveur Web, de cette façon si vous vouliez étendre ou modifier la date, il serait dynamique et ne causerait pas l'expiration prématurée des applications. Juste mes 2 cents.

+0

Ce serait une excellente solution. J'aimerais faire cela, mais je ne suis pas sûr de la meilleure façon de programmer l'utilisation de serveurs Web et Android. – Tom

+0

@Tom c'est parce que c'est une douleur dans le cul. Recherchez AsyncTask. –

+1

C'est en fait assez simple et direct. J'ai joué avec ceci, et je vais écrire un billet de blog (broschb.blogspot.com) sur ceci, et mettra à jour ceci une fois que j'ai. Mais j'ai utilisé GoogleAppEngine et Restlet (http://www.restlet.org/). Restlet a des bibliothèques pour GAE et Android. Avec cela, il est assez simple d'obtenir quelque chose de simple. Je vais essayer d'écrire quelque chose dans les prochains jours et de poster. – broschb