Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

java.lang.RuntimeException: Unable to get provider

My app is unable to start due to this RuntimeException:

java.lang.RuntimeException: Unable to get provider org.worldsproject.android.barcode.database.DatabaseProvider: java.lang.ClassNotFoundException: org.worldsproject.android.barcode.database.DatabaseProvider

My manifest:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.worldsproject.android.barcode"
android:versionCode="4"
android:versionName="1.0.3" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/Theme.Sherlock" >
    <activity
        android:name="BarcodeSaleTracker"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <provider android:name="org.worldsproject.android.barcode.database.DatabaseProvider"
        android:multiprocess="true"
        android:exported="false"
        android:authorities="org.worldsproject.android.barcode.database.DatabaseProvider" />
</application>

My DatabaseProvider:

package org.worldsproject.android.barcode.database;

public class DatabaseProvider extends ContentProvider{

private static final String TAG = "DatabaseProvider";

private static final String DATABASE_NAME = "sales.db";

private static final int DATABASE_VERSION = 1;

public static final String AUTHORITY = "org.worldsproject.android.barcode.database.DatabaseProvider";

The authority and name attributes are all correct and match, so I'm not sure why it cannot find the class.

like image 589
Atrus Avatar asked Aug 13 '13 16:08

Atrus


1 Answers

The authorities attribute should match the AUTHORITY constant defined in the DatabaseProvider class as that’s the authority used with the URIs. The name attribute must be the fully qualified class name of the content provider

like image 160
Rakesh Rajput Avatar answered Oct 08 '22 09:10

Rakesh Rajput