2015-08-14 5 views
0

Я продолжаю получать эту ошибку сейчас в своем приложении и не знаю, как ее решить. (У меня был предыдущий вопрос с курсором, но думаю, что я решил, что сейчас) Но теперь я получаю это:Как разрешить «Не удалось найти информацию о поставщике для com.new.newapp.activity.locations»?

Failed to find provider info for com.new.newapp.activity.locations 

Так что в моем LocationsContentProvider классе:

package com.new.newapp.activity; 

import java.sql.SQLException; 

import android.content.ContentProvider; 
import android.content.ContentUris; 
import android.content.ContentValues; 
import android.content.UriMatcher; 
import android.database.Cursor; 
import android.net.Uri; 

public class LocationsContentProvider extends ContentProvider{ 

public static final String PROVIDER_NAME = "com.new.newapp.activity.locations"; 
public static final Uri CONTENT_URI = Uri.parse("content://" + PROVIDER_NAME + "/locations"); 
private static final int LOCATIONS = 1; 
private static final UriMatcher uriMatcher ; 

static { 
    uriMatcher = new UriMatcher(UriMatcher.NO_MATCH); 
    uriMatcher.addURI(PROVIDER_NAME, "locations", LOCATIONS); 
} 

LocationsDB mLocationsDB; 

И в моем манифесте:

</application> 

<provider 
    android:authorities="com.new.newapp.activity.locations" 
    android:enabled="true" 
    android:multiprocess="true" 
    android:name="locations" 
    android:exported="true" ></provider> 

<intent-filter> 
    <action android:name="android.intent.action.VIEW"/> 
    <action android:name="android.intent.action.SEND" /> 
    <category android:name="android.intent.category.DEFAULT"/> 
    <category android:name="android.intent.category.BROWSABLE" /> 
    <data android:mimeType="image/*"/> 
    <data android:mimeType="video/*"/> 
    <data android:mimeType="*/*"/> 
</intent-filter> 

<uses-feature android:name="android.hardware.camera" 
    android:required="true" /> 

<uses-permission android:name="android.permission.MAPS_RECEIVE"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.CAMERA" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

</manifest> 

Я пробовал несколько предложений, но ни один из них не помог мне. Может ли кто-нибудь сказать мне, что я делаю неправильно? Спасибо!

EDIT

Это то, что я, кажется, чтобы получить сейчас-

Caused by: java.lang.IllegalArgumentException: Unknown URL content://com.new.newapp.activity/locations 
     at android.content.ContentResolver.insert(ContentResolver.java:1213) 
     at com.new.newapp.activity.FragmentGoogleMap$LocationInsertTask.doInBackground(FragmentGoogleMap.java:343) 
     at com.new.newapp.activity.FragmentGoogleMap$LocationInsertTask.doInBackground(FragmentGoogleMap.java:340) 

И линии, связанные являются-

@Override 
public void onLoaderReset(Loader<Cursor> loader) { 
} 
340 --> class LocationInsertTask extends AsyncTask<ContentValues, Void, Void> { 
     @Override 
     protected Void doInBackground(ContentValues... contentValues) { 
343 --> getActivity().getContentResolver().insert(LocationsContentProvider.CONTENT_URI, contentValues[0]); 
     return null; 
    } 
} 

ответ

0

Шаг # 1: Переместите <provider> элемент внутри <application> элемент.

Шаг №2: Избавьтесь от случайного элемента <intent-filter>, который не связан ни с чем.

Документация для элементов манифеста сообщит вам, где они находятся. Например, the documentation for <provider> tells you that it is contained within <application>.

+0

Спасибо за ваш ответ, но я все еще получаю сообщение об ошибке: (Я обновил свой вопрос) – Wildness

Смежные вопросы