Comment Changer la Date et l'Heure à l'intérieur de mon Application (pas via les paramètres), la meilleure façon de le faire?

Je suis en train de construire une application qui sera livré avec le matériel. Je veux bloquer tous les accès aux paramètres Android, il n'y a pas de bouton physique pour revenir en arrière, seulement l'écran tactile. Donc, ce n'est pas aider: startActivity(new Intent(android.provider.Settings.ACTION_DATE_SETTINGS));

Je veux changer l'heure et la date de l'appareil grâce à l'Application. J'ai fait des recherches beaucoup et chaque solution que j'ai trouvé pour changer l'heure et la date par programmation sous Android semble être plus compliqué (mettre l'application à l'intérieur du système/app ou quelque chose).

Que j'ai appris à connaître, avoir de super-utilisateur de l'accès et de la déclaration de SET_TIME sur AndroidManifest seulement ne l'aide pas.

L'application doit afficher hh:mm jj/mm/aaaa

Dans mes paramètres de l'Application, l'utilisateur peut définir la date comme étant 13/01/2014 (jj-mm-aaaa), mais disons qu'aujourd'hui est 10/01/2013. Dans mon application, je voudrais faire quelque chose comme cela aujourd'hui+offset (3 jours). Il en va de même pour l'horloge.

Je pensais à la création d'un thread qui garde la trace du temps pour mettre à jour le champ de texte à l'heure actuelle (+offset défini par l'utilisateur) toutes les minutes et un autre pour la mise à jour de la date (la machine peut travailler pour un temps très long), où j'ai formater en utilisant le décalage de l'utilisateur configuré dans l'Application. Je n'aime pas cette solution, mais je ne suis pas sûr si Android a un autre moyen plus efficace de faire ce genre de tâche.

Donc la question: Est-il un meilleur moyen de le faire autrement que par l'utilisation des threads?

Je pense, en utilisant un fil avec postAtTime(), je suppose que c'est plus efficace que d'être à l'intérieur d'une boucle et de vérifier si l'heure/la date a changé de temps à autre.

InformationsquelleAutor TiagoRL | 2014-01-13