2016-06-21 6 views
3

안드로이드가 매니페스트 파일에서 읽은 후에 응용 프로그램에 부여 된 권한을 추적하는 방법은 무엇입니까? applicationId/패키지 이름/서명 키/다른 방법으로 응용 프로그램 권한을 추적합니까?매니페스트를 읽은 후 안드로이드 권한 시스템이 내부적으로 작동하는 방법

일부 저장소에 대한 사용 권한을 저장하는 경우 android가 일치하도록 사용 권한 배열/데이터를 검색하는 방법. 무엇을 사용할 것인가? SHA, 응용 ID 또는 패키지 이름과 같은 것?

주 : 산들 6.0 응용 프로그램의 매니페스트 파일을 읽을 대상 환경

+0

앱의 매니페스트 파일과 관련이 있어야합니다. OS는 설치시 AndroidManifest.xml 파일을 읽습니다. –

+0

@OnkarNene 다시 질문을 검토하십시오 .... 지금은 질문이 분명 희망 .... –

답변

2

다음 링크에서 봐 주시기 바랍니다 -

1) http://trendblog.net/android-app-permissions/

2) https://www.se.jku.at/wp-content/uploads/2012/09/2012.permission-tracking.pdf

을 서명, 액세스 권한이 부여됩니다 지정되어있는 경우가 응용 프로그램을 요청하는 경우 응용 프로그램과 동일한 인증서로 서명 됨 해당 선언 빨간색은 허가. SignatureOrSystem 수준은 에 Android 시스템 이미지에있는 응용 프로그램에 대한 액세스 권한을 부여하거나 이 시스템 이미지에있는 인증서와 동일한 인증서로 서명하도록합니다.

그래서 여기 Signing Certificate 안드로이드 시스템은 특정 권한에 대한 permitted applications을 식별하는 데 도움이 주요 성분이다.

도움이 될 수 있습니다!

0

android os입니다.

+1

좋아, 동의 ....하지만 매니 페스트에서 선언 한 후 사용 권한을 관리하는 방법을 알고 싶다 .... 나는 이야기하고있다. Android 6.0. –

+0

Android 6.0은 동일한 접근 방식을 따르지 만 권한은 런타임에 제공됩니다. 사용자가 액세스를 거부하면 Android가 특정 앱에 대한 권한을 사용 중지합니다. – viratpuar

+0

이 https://support.google.com/googleplay/answer/6270602?hl=en – viratpuar

-1

모든 안드로이드 응용 프로그램에는 uses-permission 태그를 사용하여 응용 프로그램의 권한을 정의하는 AndroidManifest.xml 파일이 있습니다. 예를 들어

<uses-permission android:name="android.permission.INTERNET" /> 

인터넷 사용 허가를 정의합니다.

0

응용 프로그램은 인터넷 사용, 전화 번호부 액세스, SD 카드 액세스 등과 같이 많은 권한을 사용합니다. Android는 응용 프로그램을 설치할 때마다 응용 프로그램에 필요한 사용 권한을 표시합니다. 사용자는 응용 프로그램 설치 직전에 사용중인 응용 프로그램의 사용 권한을 알고 있습니다.

그리고 Android는 이라는 Androidmenifest 파일을 통해 알 수 있습니다. Androidmenifest.xml. 이 파일은 모든 안드로이드 응용 프로그램의 루트 디렉토리에 있습니다. 모든 권한은 여기에서 제어됩니다. 매니페스트 파일의

구조 : 각 권한이 고유 레이블과 레이블로 식별되는

<uses-permission /> 
<permission /> 
<permission-tree /> 
<permission-group /> 
<instrumentation /> 
<uses-sdk /> 
<uses-configuration /> 
<uses-feature /> 
<supports-screens /> 
<compatible-screens /> 
<supports-gl-texture /> 

<application> 

    <activity> 
     <intent-filter> 
      <action /> 
      <category /> 
      <data /> 
     </intent-filter> 
     <meta-data /> 
    </activity> 

    <activity-alias> 
     <intent-filter> . . . </intent-filter> 
     <meta-data /> 
    </activity-alias> 

    <service> 
     <intent-filter> . . . </intent-filter> 
     <meta-data/> 
    </service> 

    <receiver> 
     <intent-filter> . . . </intent-filter> 
     <meta-data /> 
    </receiver> 

    <provider> 
     <grant-uri-permission /> 
     <meta-data /> 
     <path-permission /> 
    </provider> 

    <uses-library /> 

</application> 

이 제한됩니다 그쪽으로 액션을 나타냅니다. 안드로이드에 의해 정의 된 권한의 예는 아래 그림과 같이

android.permission.INTERNET 
android.permission.READ_OWNER_DATA 
android.permission.SET_WALLPAPER 
android.permission.DEVICE_POWER 

응용 프로그램은 위에서 언급 한 것과 같은 권한을 필요로하는 경우, 그것은 menifest 파일의 <used-permission> 요소와 그를 선언해야합니다.

<uses-permission android:name="android.permission.INTERNET" />