これは前に尋ねられましたが、決して答えられませんでした。だから私はもう一度私の運を試す。Oreoの独自のURIにContentProvider.notifyChangeのセキュリティ例外があります
私のアプリは同期の点でGoogleのIOスケジュールアプリの完全なクローンです - 私はthisの位置に正確にコードを使用しています。
SDK 25に対して実行すると、すべてがここで働く - 私は26に行くとき、それはこの例外でクラッシュ:
12-28 21:11:13.641 6153-6190/? E/AndroidRuntime: FATAL EXCEPTION: IntentService[DataBootstrapService]
Process: de.XXX.XXX.debug, PID: 6153
java.lang.SecurityException: Failed to find provider null for user 0; expected to find a valid ContentProvider for this authority
他のリソースで示唆したように:YES、私は私のコンテンツプロバイダに権限を設定しています。 このエラーはばかげています。なぜそれがヌルとユーザー0になるのかわかりません。
誰が探しているのですか? ありがとう!
詳細についてはお尋ねしましたが、GoogleがIOスケジュールで行うように正確に行います。次のように
は私のAndroidManifestは私のプロバイダが含まれています
<provider
android:name=".provider.PendelbusProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:syncable="true"/>
クラッシュの原因となる行はこれです:
私CONTENT_AUTHORITYは次のように定義されてgetContentResolver().notifyChange(Uri.parse(PendelbusContract.CONTENT_AUTHORITY), null, false);
:(介して間接的変数を構築)
public static final String CONTENT_AUTHORITY = BuildConfig.AUTHORITY;
// equals to: "de.zordid.pendelbus.debug.provider"
メッセージに示される内容はまったくわかりません。
「プロバイダnull」とは何ですか、「ユーザー0」とは何ですか?
あなたのプロバイダのコンテンツuri、権限、および他のアプリやクラスからアクセスする方法を投稿してください – matrix