Не удалось найти информацию о поставщике для com.talkingoa.coperator.prefs

Скопировать программу1, чтобы вставить программу2

AndroidManifest.xml:

program1:

<provider android:name="com.coperator.service.PreferenceProvider"
                    android:authorities="com.coperator.prefs" />

program2:

<provider android:name="com.coperator.service.PreferenceProvider"
                    android:authorities="com.program2.coperator.prefs" />

Java-код:

  program1: public static final String AUTHORITY= "com.coperator.prefs";
  program2: public static final String AUTHORITY = "com.program2.coperator.prefs";

  public static final Uri RAZ_URI = Uri.parse(ContentResolver.SCHEME_CONTENT+ "://" +           AUTHORITY + "/" + RESET_TABLE_NAME);     
  Uri uri = SipConfigManager.RAZ_URI;
  resolver.update(uri, new ContentValues(), null, null);

Первый запуск программы1 нормальный, ошибка при запуске программы2:

04-19 11:05:05.965: E/ActivityThread(5197): Failed to find provider info for com.talkingoa.coperator.prefs
04-19 11:05:05.965: E/ActivityThread(5197): Failed to find provider info for com.talkingoa.coperator.prefs04-19 11:05:05.975: E/AndroidRuntime(5197): FATAL EXCEPTION: main
04-19 11:05:05.975: E/AndroidRuntime(5197): java.lang.RuntimeException: Unable to create service com.coperator.service.SipService: java.lang.IllegalArgumentException: Unknown URI content://com.program2.coperator.prefs/raz
04-19 11:05:05.975: E/AndroidRuntime(5197):  at android.app.ActivityThread.handleCreateService(ActivityThread.java:2323)
04-19 11:05:05.975: E/AndroidRuntime(5197):  at android.app.ActivityThread.access$2500(ActivityThread.java:135)
04-19 11:05:05.975: E/AndroidRuntime(5197):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1118)
04-19 11:05:05.975: E/AndroidRuntime(5197):  at android.os.Handler.dispatchMessage(Handler.java:99)
04-19 11:05:05.975: E/AndroidRuntime(5197):  at android.os.Looper.loop(Looper.java:150)
04-19 11:05:05.975: E/AndroidRuntime(5197):  at android.app.ActivityThread.main(ActivityThread.java:4385)
04-19 11:05:05.975: E/AndroidRuntime(5197):  at java.lang.reflect.Method.invokeNative(Native Method)
04-19 11:05:05.975: E/AndroidRuntime(5197):  at java.lang.reflect.Method.invoke(Method.java:507)
04-19 11:05:05.975: E/AndroidRuntime(5197):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
04-19 11:05:05.975: E/AndroidRuntime(5197):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
04-19 11:05:05.975: E/AndroidRuntime(5197):  at dalvik.system.NativeStart.main(Native Method)
04-19 11:05:05.975: E/AndroidRuntime(5197): Caused by: java.lang.IllegalArgumentException: Unknown URI content://com.talkingoa.coperator.prefs/raz
04-19 11:05:05.975: E/AndroidRuntime(5197):  at android.content.ContentResolver.update(ContentResolver.java:722)
04-19 11:05:05.975: E/AndroidRuntime(5197):  at com.coperator.utils.PreferencesProviderWrapper.resetAllDefaultValues(PreferencesProviderWrapper.java:53)
04-19 11:05:05.975: E/AndroidRuntime(5197):  at com.coperator.service.SipService.onCreate(SipService.java:798)
04-19 11:05:05.975: E/AndroidRuntime(5197):  at android.app.ActivityThread.handleCreateService(ActivityThread.java:2309)
04-19 11:05:05.975: E/AndroidRuntime(5197):  ... 10 more

Я не знаю, как это было неправильно

1 ответ

Я столкнулся с той же ошибкой во время разработки моего приложения. Для меня ошибка была решена только с использованием правильного Uri при вызове контент-провайдера.

В моем контент-провайдере я добавил несколько Uri, например:

String AUTHORITY = "com.package.example";
static Uri CONTENT_URI = Uri.parse(AUTHORITY);

(...)

URIMatcher.addURI(AUTHORITY, "entry", 1);

После этого при вызове Content Provider я сделал

getContentResolver().getType(Uri.withAppendedPath(MyContentProvider.CONTENT_URI, "entry/1"));

И проблема не повторилась.

Другие вопросы по тегам