2010-06-07 41 views
1

現在我進行試用申請。我想在Android中永久存儲IMEI和其他信息。我不想在卸載它後丟失它們。不想在卸載後丟失Android上的數據

我使用共享首選項進行了測試,但在卸載後刪除。

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

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

讓我知道在哪裏存儲。

+0

請記住通知用戶您正在做這件事。否則,你會是一些非常憤怒的用戶(在最好的情況下),並可能會被起訴(在最壞的情況下)。 – RoToRa 2010-06-07 10:28:49

回答

1

你可以用reflog在他的評論中寫道的方式來做到這一點。

如果您正在訪問imei有一個遠程Web服務,它接受imei作爲輸入併爲您的應用程序提供試用過期等信息。這樣,用戶在每次開始時都必須經過一些努力,以便在應用程序過期時運行它。這種方法有兩個問題

  • 如果用戶沒有互聯網連接,您的應用程序將不會運行。即使您的應用不需要網絡,也無法在沒有數據連接的情況下啓動應用。

  • 有些用戶不喜歡他們的imei發送到遠程服務器的想法。 imei是一個非常私密的數據,可以識別這個用戶,並可用於所有類型的數據分析。

+0

如果我將這些信息存儲在Contacts.People或Contacts.Phones中,會發生什麼?聯繫人中的數據在卸載後仍然存儲。 – soclose 2010-06-08 02:24:53

1

SharedPreferences與應用程序一起被刪除。 如果您的目標是2.2平臺,則專門爲此添加了一個新的「備份」API。否則 - 你堅持將信息存儲在SD卡上。

+0

我的目標是Android 1.6。其實我想查看IMEI和失效日期。即使我將此信息保存在SD卡中,用戶仍然可以使用這個沒有SD卡的過期應用程序,對吧? – soclose 2010-06-07 07:49:47

+1

這是正確的。如果您想阻止您必須將該信息遠程存儲在服務器上,並在應用程序啓動時使用IMEI查詢它。 – reflog 2010-06-07 08:22:51