2012-02-15 3 views
0

피 호출자가 특정 사용 권한을 선언하고 시행하고 발신자가 적절한 사용 권한을 사용하지 않는 한 두 개의 앱이 샌드 박스 처리되었으며 서로를 호출 할 수 없다는 인상을 받았습니다 (intents 또는 contentresolver 등). 집단? 그러나 저는 두 개의 앱을 개발했습니다. 하나는 콘텐츠 제공자이고 다른 하나는 콘텐츠 제공자를 사용하는 활동입니다. 사용 권한이 적용되거나 사용되도록 선언 된 권한이 없습니다. 저는 이클립스에서 제 핸드폰으로 직접 배포하고 서로 사용할 수 있습니다.안드로이드 앱이 권한없이 설정 가능

나는 이것이 정말로 별도의 프로세스와 사용자 ID로 실행되고 있는지 확인했다. 보안 예외가 표시되지 않는 이유는 무엇입니까? 리눅스가 기본적으로이 통신을 중단해야합니까? 기본 DEBUG 인증서로 서명됩니다. 이렇게하면 서로에게 '대화'할 수있는 권한이 더 부여됩니까? 즉 명시적인 인증서로 서명 한 경우 샌드 박스가 실행됩니까?

콘텐츠 제공 업체 앱에 권한을 신고하고 시행하자마자 다른 앱은 통신을 허용하기 위해 사용 권한이 필요합니다.

건배

답변

0

예, 앱에 동일한 서명이있는 경우 서로 액세스 할 수 있습니다. java의 패키지 레벨 권한과 유사합니다.

http://developer.android.com/guide/topics/security/security.html

+0

그러나 문서는 모든 응용 프로그램은 별도의 사용자 ID를 가지고 있다고 주장하고 (같은 서명) 앱에 두 가지를 얻으려면 당신이의 sharedUserId 속성을 사용해서 서로 대화 할 수 있도록하는 것이 . – user921774

+0

사실, 데이터 공유를 원한다면 동일한 사용자 ID를 가져야한다고 말한 것 같습니다. Intents 또는 ContentProviders를 통해 통신 할 때 IPC를 사용하고 있습니다. 데이터 나 리소스를 공유하기 전까지는 괜찮습니다. – jsmith

+0

고마워, 그게 꼭 있어야 할 것 같아. 나는 문서가이 시점에서 정말로 분명하다고 생각하지 않는다. – user921774

관련 문제