Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是android:exported=";“真的”;内容提供程序内部使用所需_Android_Android Contentprovider - Fatal编程技术网

是android:exported=";“真的”;内容提供程序内部使用所需

是android:exported=";“真的”;内容提供程序内部使用所需,android,android-contentprovider,Android,Android Contentprovider,我已在我的应用程序清单中定义了一个提供程序: <provider android:authorities="com.example.myapp.provider" android:name="com.example.myapp.MyProvider"> </provider> android:exported="true" 但是,如果我在清单中简单地设置提供者的导出属性,它将非常有效: <provider android:authori

我已在我的应用程序清单中定义了一个提供程序:

<provider
    android:authorities="com.example.myapp.provider"
    android:name="com.example.myapp.MyProvider">
</provider>
android:exported="true" 
但是,如果我在清单中简单地设置提供者的导出属性,它将非常有效:

<provider
    android:authorities="com.example.myapp.provider"
    android:name="com.example.myapp.MyProvider">
</provider>
android:exported="true" 
所以我的问题是为什么需要这样做?因为,根据documentation(),仅当提供程序可用于其他应用程序时才需要导出。我做错什么了吗

[Edit]:令人惊讶的是,即使删除了导出的属性,错误现在也消失了,没有进行任何其他更改。我不知道为什么它现在起作用了。可能是我这边的愚蠢错误。我把这个问题留待讨论,希望能从中得到一些线索,看看到底哪里出了问题

[编辑]:我这次又遇到了一个接收者的问题。因此,这不是我这边的错误,正如我在上一次编辑中所假设的那样。我怀疑ADT构建工具有问题。

确保您的
标记位于
..
标记内

<application>
    ...
    <provider
        android:authorities="com.ingamedeo.databasetest.contentprovider"
        android:name=".db.ContentProviderDb"
        android:exported="false">            
    </provider>
</application>

...

更新:您不能再设置

android:exported=“true”


您将遇到
java.lang.SecurityException:提供程序不能导出
异常。

您的权限标记与ContentProvider(MyProvider vs Provider)不同。在doc上,通常是实现providerI的ContentProvider子类的名称,我并不真正理解您的评论。“MyProvider”是我的内容提供商类的名称,它位于包“com.example.myapp”中。这就是我为“android:name”属性指定的内容。我随机命名了“android:Authories”值。我没有任何名为“提供者”的类。无论如何,我不认为名称是一个问题,因为导出提供程序时使用相同的名称。请看以下内容: