我正在使用Apache Cordova开发混合应用程序。由于在Android 4.4中的表单中选择文件的错误,我不得不用android插件对其进行排序。
此插件允许您使用ajax将文件上传到php服务器。
问题是这个插件附带了第三方库,它将一个Content Provider添加到AndroidManifest.xml。在插件开发人员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 =&#34; com.ianhanniballake.localstorage.documents&#34;;
问题是:我应该用什么来代替com.ianhanniballake.localstorage?因为如果没有进行任何更改,我无法在手机中安装我的应用程序的测试和发布版本,因为内容提供商必须是唯一消息出现。
提前致谢。 MANEL。
答案 0 :(得分:0)
来自http://developer.android.com/guide/topics/manifest/provider-element.html
android:authorities一个或多个URI权限的列表 识别内容提供商提供的数据。多个权威 通过用分号分隔它们的名字来列出。避免 冲突,权限名称应使用Java样式的命名约定 (例如com.example.provider.cartoonprovider)。通常,它是 实现提供程序的ContentProvider子类的名称 没有默认值。必须至少指定一个权限。
所以也许是ContentProvider的子类并提供使用packagename.classname