【问题标题】:Content Provider in AndroidManifestAndroidManifest 中的内容提供程序
【发布时间】:2017-01-11 06:56:08
【问题描述】:

我正在使用 Apache Cordova 开发一个混合应用程序。由于 Android 4.4 中的表单中文件选择存在错误,我不得不使用 android 插件对其进行排序。

此插件可让您使用 ajax 将文件上传到 php 服务器。

问题是这个插件带有一个第三方库,它向 AndroidManifest.xml 添加了一个 Content Provider。在插件开发人员的instructions 之后,应该更改此 ContentProvider。

请注意,与 ContentProvider 一样,DocumentProvider 权限必须是唯一的。 您应该更改清单中的 com.ianhanniballake.localstorage.documents,如 以及 LocalStorageProvider.AUTHORITY 字段。

这是插件添加到 AndroidManifest.xml 的内容

provider android:authorities="com.ianhanniballake.localstorage.documents" android:enabled="@bool/use_provider" android:exported="true" android:grantUriPermissions="true" android:name="com.ianhanniballake.localstorage.LocalStorageProvider" android:permission="android.permission.MANAGE_DOCUMENTS">
  <intent-filter>
    <action android:name="android.content.action.DOCUMENTS_PROVIDER" />
  </intent-filter>
</provider>

在这个library 中有一个名为 LocalStorageProvider.java 的类,其中 AUTHORITY 是固定的:

公共类 LocalStorageProvider 扩展 DocumentsProvider { public static final String AUTHORITY = "com.ianhanniballake.localstorage.documents";

问题是:我应该放什么来代替 com.ianhanniballake.localstorage?因为如果不进行任何更改,我将无法在手机中安装我的应用程序的测试和发布版本,因为会出现 CONTENT PROVIDER MUST BE UNIQUE 消息。

提前致谢。曼内尔。

【问题讨论】:

    标签: android html cordova


    【解决方案1】:

    来自http://developer.android.com/guide/topics/manifest/provider-element.html

    android:authorities 一个或多个 URI 权限的列表 识别内容提供商提供的数据。多个当局 通过用分号分隔它们的名称来列出。避免 冲突,权限名称应使用 Java 风格的命名约定 (例如 com.example.provider.cartoonprovider)。通常,它是 实现提供者的 ContentProvider 子类的名称 没有默认值。必须至少指定一个权限。

    所以可能是 ContentProvider 的子类并提供使用 packagename.classname

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多