读取清单后android权限系统如何在内部工作

读取清单后android权限系统如何在内部工作,android,android-permissions,signing,Android,Android Permissions,Signing,Android如何跟踪从清单文件读取后授予应用程序的权限?是否基于applicationId/包名/签名密钥/其他方式跟踪应用程序权限 如果它在某些存储上存储权限,那么android将如何检索要匹配的权限数组/数据。它将使用什么?类似SHA、应用程序ID或包名的内容 注意:棉花糖6.0是目标环境 android操作系统将读取应用程序的清单文件 在每个android应用程序中,都有一个名为AndroidManifest.xml的文件,该文件使用名为usespermission的标记定义应用程序的权

Android如何跟踪从清单文件读取后授予应用程序的权限?是否基于applicationId/包名/签名密钥/其他方式跟踪应用程序权限

如果它在某些存储上存储权限,那么android将如何检索要匹配的权限数组/数据。它将使用什么?类似SHA、应用程序ID或包名的内容

注意:棉花糖6.0是目标环境


android操作系统将读取应用程序的清单文件

在每个android应用程序中,都有一个名为AndroidManifest.xml的文件,该文件使用名为usespermission的标记定义应用程序的权限。比如说

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


其中定义了互联网使用权限。

应用程序使用很多权限,如使用互联网、访问电话簿、访问SD卡等。Android显示了应用程序在每次安装应用程序之前需要的权限。在应用程序安装之前,用户知道应用程序正在使用什么权限

Android通过访问名为Androidmenifest.xml的Androidmenifest文件来了解这一点。该文件包含在每个Android应用程序的根目录中。所有权限都在其中进行控制

清单文件的结构:

<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>

如果应用程序需要上述权限,则必须在menifest文件中使用
元素声明该权限,如下所示

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

请查看以下链接-

(一)

(二)

如果指定了签名,则在请求 应用程序使用与应用程序相同的证书签名 这宣告了许可。级别签名或系统授权 访问Android系统映像中的应用程序或 使用与系统映像中相同的证书进行签名

因此,
签名证书
是帮助android系统识别特定权限的
许可应用程序
的关键要素


这可能对你有帮助

好的,同意……但我想知道它在清单中声明后是如何管理权限的……我说的是Android 6.0。Android 6.0遵循相同的方法,但权限将在运行时授予。如果用户拒绝简单的访问,android将禁用特定应用程序的权限。那么我想问的是,android如何知道该权限被用户拒绝。。。它在哪里存储权限?它必须与应用程序的清单文件相关。操作系统将在安装时读取AndroidManifest.xml文件。@onkarne请再次查看问题。。。。我希望现在问题清楚了。。。。
<uses-permission android:name="android.permission.INTERNET" />