繁体   English   中英

android:内容提供者:服务在凝视时崩溃 - 无法获取提供者 sensordata.collector.SurveyDbProvider

[英]android: content provider : Service crashes on staring - Unable to get provider sensordata.collector.SurveyDbProvider

我已经建立了自己的内容提供商。 许多应用程序必须共享此数据库。

但是当我启动我的服务时它崩溃了。 我什至没有在日志中发现任何异常。

看起来像清单的问题,因为在我添加了与提供者相关的标签之后,问题就开始了。

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> 

请帮忙。

您的提供者是否有公共构造函数? sensordata.collector.SurveyDbProvider 必须是可初始化的,因此它不能是例如抽象 class。

如果您没有看到异常并且您正在使用 Eclipse,请按 F8,可能多次并检查您的 LogCat

权限缺少 ContentProvider 名称。 它应该是:

<provider android:name="sensordata.collector.SurveyDbProvider"
          android:authorities="sensordata.collector.surveydbprovider" ... />

作为一种好的做法,您应该在提供者 class 中声明一个与此权限匹配的 CONTENT_URI 常量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM