AndroidManifest.xml
<!-- Provides search suggestions for addresses -->
<provider android:name="com.my.app.provider.SearchAddressProvider"
android:authorities="com.my.app.provider.SearchAddressProvider" />
секция <manifest ... >
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.my.app" android:versionCode="1"
android:versionName="1.0">
Из класса моего провайдера SearchAddressProvider
public static final String KEY_ADDRESS_1 = SearchManager.SUGGEST_COLUMN_TEXT_1;
public static final String KEY_ADDRESS_2 = SearchManager.SUGGEST_COLUMN_TEXT_2;
public static final String KEY_MARKER = SearchManager.SUGGEST_COLUMN_ICON_1;
public static final String KEY_FAVORITE = SearchManager.SUGGEST_COLUMN_ICON_2;
private static String AUTHORITY = "com.my.app.provider.SearchAddressProvider";
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY
+ "/searchaddress");
private static final UriMatcher uriMatcher = buildUriMatcher();
....
@Override
public String getType(Uri uri) {
switch (uriMatcher.match(uri)) {
case SEARCH_WORDS:
return WORDS_MIME_TYPE;
case GET_WORD:
return DEFINITION_MIME_TYPE;
case SEARCH_SUGGEST:
return SearchManager.SUGGEST_MIME_TYPE;
default:
throw new IllegalArgumentException("Unknown URL " + uri);
}
}
еще в моей деятельности, которая вызывает этот класс с этими определениями, с помощью этой команды:
Cursor cursor = managedQuery(SearchAddressProvider.CONTENT_URI, null, null, new String[] {query}, null);
Я получаю IllegalArgumentException Unknown URI
это проблема для меня, решение?