2010-06-07 17 views
1

Maintenant, je fais une application d'essai. J'aimerais stocker IMEI et d'autres informations dans Android de manière permanente. Et je ne veux pas les perdre après l'avoir désinstallé.ne veux pas perdre des données sur Android après la désinstallation

J'ai testé avec la préférence partagée, mais il supprime après la désinstallation.

  SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
     SharedPreferences.Editor editor = settings.edit(); 
     editor.putBoolean("silentMode", true);     

     // Commit the edits! 
     editor.commit(); 

laissez-moi savoir où stocker.

+0

N'oubliez pas d'informer l'utilisateur de ce que vous faites. Sinon, vous serez des utilisateurs très fâchés (dans le meilleur des cas) et éventuellement poursuivis (dans le pire des cas). – RoToRa

Répondre

1

Vous pouvez le faire comme reflog a écrit dans son commentaire.

Si vous accédez à l'imei, disposez d'un service Web à distance qui accepte l'imei comme entrée et fournit à votre application des informations telles que trial expired, et ainsi de suite. De cette façon, l'utilisateur doit faire des efforts à chaque démarrage pour que l'application s'exécute si elle a expiré. Il y a deux problèmes avec cette approche

  • Votre application ne fonctionnera pas si l'utilisateur n'a pas de connexion Internet. Même si votre application n'a pas besoin de réseau, vous ne pouvez pas démarrer l'application sans connexion de données.

  • Certains utilisateurs n'aiment pas l'idée que leur imei soit renvoyé à un serveur distant. L'imei est un morceau de données très privé qui identifie cet utilisateur et pourrait être utilisé pour toutes sortes d'analyse de données.

+0

Si je stocke ces informations dans Contacts.People ou Contacts.Phones, que va-t-il se passer? Les données dans les contacts sont toujours stockées après la désinstallation. – soclose

1

Les SharedPreferences sont supprimées avec l'application. Si vous ciblez la plate-forme 2.2, une nouvelle API de sauvegarde est ajoutée spécifiquement à cet effet. Sinon, vous êtes en train de stocker les informations sur la carte SD.

+0

Je cible Android 1.6. En fait, je voudrais vérifier IMEI et la date d'expiration. Même si je sauvegarde cette information dans la carte SD, l'utilisateur peut toujours utiliser cette application expirée sans carte SD, non? – soclose

+1

C'est exact. Si vous voulez éviter cela, vous devrez stocker ces informations à distance sur votre serveur et les interroger à l'aide de l'IMEI au démarrage de l'application. – reflog