Def*_*ult 30 android android-contentprovider
我有一个问题,我只是想不通.我使用Eclipse创建自己的内容提供程序,但不断收到以下错误:
[..] ERROR/ActivityThread(1051):无法找到my.package.provider.countrycontentprovider的提供商信息
代码见:http://codepad.org/Rx00HjHd
主要部分:
public class CountryContentProvider extends ContentProvider {
public static final String PROVIDER =
"my.package.provider.countrycontentprovider";
public static final Uri CONTENT_URI =
Uri.parse("content://" + PROVIDER + "/country");
// ...
@Override
public boolean onCreate() { return true; }
// ...
}
// from my activity
ContentResolver resolver = getContentResolver();
Cursor c = resolver.query(CountryContentProvider.CONTENT_URI,
null, null, null, null);
// AndroidManifest.xml
<provider
android:name="my.package.provider.CountryContentProvider"
android:authorities="my.package.provider.countrycontentprovider" />
Run Code Online (Sandbox Code Playgroud)
我已将提供程序添加到清单中,并从onCreate
函数返回true .我CountryContentProvider.CONTENT_URI
在我的活动中使用来自我的提供者的内容,但我只是不断收到该错误消息.我删除并添加了三次代码(在日食融化的情况下)无济于事.
我肯定错过了什么.有人能指出我正确的方向吗?
Dar*_*leg 49
当我将<provider>移出<application> ... </ application>标记时,我能够重现您的问题.Eclipse没有说错误或警告.
幸运的是,Android Lint从ADT 20开始检测到此问题.
and*_*ude 15
只有Authorities
在清单文件中的tag中指定完整路径后才能使用它(请参阅SDK中的SearchableDictionary示例代码).
<provider android:name=".DictionaryProvider"
android:authorities="com.example.android.searchabledict.DictionaryProvider">
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
45994 次 |
最近记录: |