Android清单XML提供程序标记。安卓:当局

Android清单XML提供程序标记。安卓:当局,android,manifest,provider,authority,Android,Manifest,Provider,Authority,我在浏览android-17的记事本示例应用程序时,在清单XML文件中遇到了以下标记: <provider android:name="NotePadProvider" android:authorities="com.google.provider.NotePad" android:exported="false"> <grant-uri-permission android:pathPattern=".*" />

我在浏览android-17的记事本示例应用程序时,在清单XML文件中遇到了以下标记:

    <provider android:name="NotePadProvider"
        android:authorities="com.google.provider.NotePad"
        android:exported="false">
        <grant-uri-permission android:pathPattern=".*" />
    </provider>

我查了一下辩护词,发现
com.google.provider.NotePad
被列为提供商的权威之一。我假设
NotePadProvider
引用的是
NotePadProvider.java
文件中定义的类
NotePadProvider
,但我想问一下,是否真的是这样,以确保我的思路正确

另外,我想知道什么是
com.google.provider.NotePad
,它的定义在哪里,以及
com.google.provider.NotePad
的目的是什么,以及
com.google.provider.NotePad
是提供商的权威是什么意思

内容提供商是Android的主要构建模块之一 应用程序,为应用程序提供内容。它们封装数据 并通过单个ContentResolver将其提供给应用程序 接口。仅当您需要共享时才需要内容提供商 多个应用程序之间的数据。例如,联系人数据是 由多个应用程序使用,并且必须存储在内容中 供应商。如果您不需要在多个用户之间共享数据 应用程序可以通过SQLiteDatabase直接使用数据库

实际上,
com.google.provider.NotePad
是一个实现
ContentProvider
的类

发件人:

android:authorities 一个或多个URI授权的列表 识别内容提供商提供的数据。多重权威 通过用分号分隔其名称列出。避 冲突,权限名称应使用Java风格的命名约定 (例如com.example.provider.cartonprovider)。通常,它是 实现提供程序的ContentProvider子类的名称


当我提供两个权限时,我有一个问题。即使文档中说用分号将它们分开,也不起作用。如果存在分号,我甚至无法构建项目。如何设置多个权限?例如,这不起作用:android:authorities=“${applicationId}.MainActivity;${applicationId}.contactview.contactViewWithViewPagerBactivity”如果您正在设置记事本的权限并希望将其设置为“Google”,则不能以.NotePad结尾,我想您应该设置android:authorities=“com.Google.NotePad.provider”由于包命名约定为com.company\u name.app\u name