zoukankan      html  css  js  c++  java
  • android:exported对ContentProvider的影响

    前两天按教学视频在MainActivity中写完ContentProvider后在Manifest中配置了如下代码

    <provider
        android:name="test.provider.SQLiteProvider"
        android:authorities="test.provider" />

    然而并不能传递内容,当时在网上找并没有找到明确答案,有的在provider配置了许多内容,偶然加上了一句android:exported="true" ,碰巧成功了,但是并不知道缘由。

    今日细看SDK文档,发现端倪。

    android:exported
    Whether the content provider is available for other applications to use:
    true: The provider is available to other applications. Any application can use the provider's content URI to access it, subject to the permissions specified for the provider.
    false: The provider is not available to other applications. Set android:exported="false" to limit access to the provider to your applications. Only applications that have the same user ID (UID) as the provider will have access to it.
    The default value is "true" for applications that set either android:minSdkVersion or android:targetSdkVersion to "16" or lower. For applications that set either of these attributes to "17" or higher, the default is "false".
    
    You can set android:exported="false" and still limit access to your provider by setting permissions with the permission attribute.

    据鄙人E渣的翻译,大意是最小SDK版本或者目标SDK版本小于等于16的,则默认值为“true”,else ,默认值为"false"。

    由于教学视频为12年的,所以版本较老,而我用了最新的,不可避免产生差别。因此对于现在大部分人来说,是需要配置一下export较为妥当。

    <provider
        android:name="test.provider.SQLiteProvider"
        android:authorities="test.provider"
        android:exported="true" />
  • 相关阅读:
    使用VPD解决EBS中信息屏蔽问题
    How to set window title name on Oracle EBS Form?
    FORM-加载前指定日期时间格式
    ORACLE EBS FORM 二次开发常用小技巧
    OM-销售订单行【订购项目】配置参数文件控制
    FORM动态LIST ITEM
    如何在form初始化时自动隐藏FOLDER列
    IIS整合tomcat
    从Script到Code Blocks、Code Behind到MVC、MVP、MVVM
    C语言基本数据类型简介
  • 原文地址:https://www.cnblogs.com/Traveller-Leon/p/4643752.html
Copyright © 2011-2022 走看看