我已经建立了自己的内容提供商。许多应用程序必须共享此数据库。
但是当我开始服务时它会崩溃。我在日志中甚至没有任何例外。
看起来像清单的问题,因为在我添加了标签已经开始提供商问题之后。
Package:sensordata.collector
Clas name : SurveyDbProvider [SurveyDbProvider extends ContentProvider]
这是我的清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="sensordata.collector"
android:versionCode="1"
android:versionName="1.0">
<permission
android:name="sensordata.collector.SURVEY_DATA.permission.READ"
android:label="@string/perm_label"
android:description="@string/perm_label" />
<permission
android:name="sensordata.collector.SURVEY_DATA.permission.WRITE"
android:label="@string/perm_label"
android:description="@string/perm_label" />
<uses-permission android:name="sensordata.collector.SURVEY_DATA.permission.WRITE" />
<uses-permission android:name="sensordata.collector.SURVEY_DATA.permission.READ" />
In application tag :
<provider android:name="sensordata.collector.SurveyDbProvider"
android:authorities="sensordata.collector"
android:readPermission="sensordata.collector.SURVEY_DATA.permission.READ"
android:writePermission="sensordata.collector.SURVEY_DATA.permission.WRITE" />
</application>
<uses-sdk android:minSdkVersion="4" />
</manifest>
请帮忙。
答案 0 :(得分:0)
权限缺少ContentProvider名称。它应该是:
<provider android:name="sensordata.collector.SurveyDbProvider"
android:authorities="sensordata.collector.surveydbprovider" ... />
作为一种好的做法,你应该在提供者类中声明一个与此权限相匹配的CONTENT_URI常量。
答案 1 :(得分:0)
您的提供商是否有公共构造函数? sensordata.collector.SurveyDbProvider必须是可初始化的,所以它不能是例如抽象类。
如果您没有看到异常并且您正在使用Eclipse,请按F8,可能多次并检查您的LogCat