是内部使用内容提供者所需的android:exported =“true”

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

<provider android:authorities="com.example.myapp.provider" android:name="com.example.myapp.MyProvider"> </provider> 

提供者只需在应用程序中使用。 但是当我尝试运行我的活动时遇到下面的错误:

 Failed to find provider info.. 

但是,如果我简单地在清单中设置提供程序的导出属性,它就可以完美工作:

 android:exported="true" 

所以我的问题是为什么这是必需的? 因为根据文档( http://developer.android.com/guide/topics/manifest/provider-element.html#exported ),仅当提供者可用于其他应用程序时才需要导出。 难道我做错了什么?

[编辑]:令人惊讶的是,即使删除导出的属性,错误已经消失,没有做任何其他更改。 我不知道为什么现在工作。 可能来自我身边的一些愚蠢的错误。 我留下这个问题,希望得到任何一个错误的线索。

[编辑]:这次我用接收器再次面对这个问题。 所以从我这边来看,这不是一个错误,正如我在之前的编辑中所设想的那样。 我怀疑在ADT构build工具中有什么错误。

Solutions Collecting From Web of "是内部使用内容提供者所需的android:exported =“true”"