2010-06-07 2 views
1

이제 시험판 신청을합니다. IMEI 및 기타 정보를 Android에 영구 저장하고 싶습니다. 그리고 난 그것을 제거한 후 그들을 잃고 싶지 않아.제거 후 안드로이드에서 데이터를 잃고 싶지 않다

공유 환경 설정으로 테스트했지만 설치 제거 후 삭제됩니다.

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

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

저장 위치를 ​​알려주세요.

+0

사용자에게이 사실을 알리는 것을 잊지 마십시오. 그렇지 않으면 (매우 좋은 경우) 매우 화가 난 사용자가 될 수 있으며 (최악의 경우) 고소 당할 수도 있습니다. – RoToRa

답변

1

reflog가 그의 의견에 쓴대로 할 수 있습니다.

imei에 액세스하는 경우 imei를 입력으로 받아들이고 평가판 만료와 같은 정보를 앱에 제공하는 원격 웹 서비스가 있어야합니다. 그런 식으로 사용자는 응용 프로그램이 만료 된 경우 실행되도록 매 시작마다 약간의 노력을해야합니다. 이 접근 방식에는 두 가지 문제가 있습니다.

  • 사용자가 인터넷에 연결되어 있지 않으면 앱이 실행되지 않습니다. 앱이 네트워크를 필요로하지 않더라도 데이터 연결이 없으면 앱을 시작할 수 없습니다.

  • 일부 사용자는 imei가 원격 서버로 보내지는 것에 대해 싫어합니다. imei는이 사용자를 식별하고 모든 종류의 데이터 분석에 사용될 수있는 매우 개인적인 데이터 조각입니다.

+0

이 정보를 Contacts.People 또는 Contacts.Phones에 저장하면 어떻게됩니까? 연락처의 데이터는 제거한 후에도 저장됩니다. – soclose

1

SharedPreferences는 응용 프로그램과 함께 제거됩니다. 2.2 플랫폼을 대상으로하는 경우이 목적을 위해 특별히 새로운 '백업'API가 추가되었습니다. 그렇지 않으면 - SD 카드에 정보를 저장하는 데 어려움을 겪고 있습니다.

+0

Android 1.6에 타겟팅합니다. 사실 IMEI와 만료일을 확인하고 싶습니다. SD 카드에이 정보를 저장하더라도 사용자는 SD 카드없이이 만료 된 응용 프로그램을 사용할 수 있습니다. 맞습니까? – soclose

+1

맞습니다. 이를 방지하려면 원격으로 서버에 정보를 저장하고 응용 프로그램이 시작될 때 IMEI를 사용하여 쿼리해야합니다. – reflog

관련 문제