2011-01-24 2 views
8

getSharedPreferences (String, int)에 대한 API 설명을 살펴보면 두 번째 속성이 접근성 모드를 정의하고 있으며 기본 동작에 대해 0 또는 MODE_PRIVATE, 권한을 제어하기 위해 MODE_WORLD_READABLE 및 MODE_WORLD_WRITEABLE을 (를) 취할 수 있습니다.다른 Android 애플리케이션간에 SharedPreferences를 공유 할 수 있습니까?

그러나 API 설명이 작은 노트가있다 :

참고 : 현재이 클래스 (android.content.SharedPreferences를) 여러 걸쳐 프로세스를 사용을 지원하지 않습니다는. 이것은 나중에 추가 될 것입니다. 마크 L. 머피 책 또한

"시작 안드로이드이있다"고 언급 :

(결국, 기본 설정은 시간 의의로 지원되지 않습니다 응용 프로그램에서 공유 하지만 수 있습니다 이 글)

Im 너무 혼란스러워! 이것은 getSharedPrefrences의 MODE_WORLD_READABLE 및 MODE_WORLD_WRITEABLE이 최신 API 레벨에서 지원되지만 지원되지 않음을 의미합니까?

감사합니다! Migan

답변

7

내 도서 참조는 해당 의견을 기반으로합니다.

또한 파일 MODE_WORLD_READABLE 또는 (악화) MODE_WORLD_WRITEABLE을 만드는 것은 좋지 않습니다. 당신은 보안에 대한 어떤 희망도 잃지 않습니다. 두 개의 응용 프로그램간에 데이터를 공유하고자하는 경우

는 같은 솔루션의 무수한있다 : AIDL에 의해 노출하는 API와

  • 서비스
  • startService()을 통해 전송 명령을 통해 노출하는 API와
  • 서비스 과 응답은 Messenger 또는 createPendingResult()PendingIntent 또는 뭔가
  • 콘텐츠 제공
  • 방송을 통해 전송 Intents
  • ,536,

이러한 모든 기능을 통해 통합에 대한 사용 권한을 정의하고 액세스의 세분성을 제어 할 수 있습니다.

+0

매우 완벽한 답변을 보내 주셔서 감사합니다! 난 J2ME 이후로 혼란 스러웠다. RecordStores는 인증 모드를 AUTHMODE_ANY로 설정하여 다른 애플리케이션간에 쉽게 공유 할 수있다. 보안이 없기 때문에 권장되지는 않는다. 그 이유는 내가 안드로이드의 Prefrences가 MODE_WORLD_READABLE 및 MODE_WORLD_WRITEABLE을 아직 지원하지 못했기 때문이다. – Migan

관련 문제