-안드로이드는 샌드박스로 격리된 프로세스간에 통신 기능을 제공한다.
BroadCast Intent,
Service,
Content Provider,
AIDL
================================================================
2.1안드로이드 권한(Permission)
-통신 기능의 내용을 제어하기 위해서 시작과 끝점에서
Permission을 점검하는 기능이 부여 되어 있다.
Permission이 점검 당하는 시점
- 시스템 내부로의 호출 시점
- 액티비티 시작 시점
- 브로드캐스트 보내는 시점
- 켄텐츠프로바이더 접근 시점
- 서비스 바인딩 시점 또는 시작 시점
2.2 권한의 선언, 적용
다른 패키지들이 내 패키지내의 콤포넌트를 접근 제어하고자 할때 권한을 선언해서 사용 할수 있다.
permission 태그를 이용하여 선언
<permission
android:name=”com.paad.DETONATE_DEVICE”
android:protectionLevel=”dangerous”
android:label=”Self Destruct”
android:description=”@string/detonate_description”>
</permission>
protectionLevel속성:
이 레벨을 설정에 따라서 사용자가 퍼미션을 요구하는 애플리케이션 알수 있거나,
해당 퍼미션이 누가 사용하는지 알수 있게 해 준다.
허가할 권한의 접근 수준: normal, dangerous, signature, signatureOrSystme
permissionGroup속성:
선택 사항으로 단지 시스템이 사용자에게 퍼미션 표시를 돕기 위해서 사용된다.
표준 시스템 그룹에서 정의한 사항을 표기하는 것이 좋다.
직접 정의도 가능하다. 그렇지만 사용자에게 퍼미션UI를 단순화 하기 위해서 표준것을 사용하는 것이
좋다.
Lavel속성, Description속성:
퍼미션 정의에 필수 사항이다.
Lavel: 퍼미션 리스트에 나타나고, 퍼미션이 보호하는 기능의 핵심부분을 몇개의 단어로 기술할 것
Desc..: 퍼미션 상세보기에 나타나고, 두문장으로 기술하는데
첫번째문장은 퍼미션의 설명,
두번째는 퍼
미션 부여시 발생될 수 있는 나쁜 것이 무엇인지를 사용자에게 경고해 주는 내용을 기술한다.
adb명령을 통해서 시스템의 퍼미션 정보를 볼 수 있다.
adb shell pm list permissions
이 명령을 통해서 시스템에 현재 정의된 퍼미션들을 볼 수 있다.
adb shell pm list permissions -s
-s 옵션은 사용자가 보는 방식과 같은 방식으로 볼 수 있다.
http://www.androidpub.com/96185