Не удалось найти метаданные для поставщика с полномочиями com.scanlibrary.provider.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Не удалось найти метаданные для поставщика с полномочиями com.scanlibrary.provider.

Сообщение Anonymous »

Я импортировал модуль scanlibrary в свое приложение. У этого модуля есть собственный файл манифеста с FileProvider.

Это структура каталогов:

Изображение


Ниже приведен мой код для открытия камеру и файлы манифеста.

сканируйте код библиотеки, чтобы открыть камеру и сделать снимок

Код: Выделить всё

public final static int PICKFILE_REQUEST_CODE = 1;
public final static int START_CAMERA_REQUEST_CODE = 2;
public final static String OPEN_INTENT_PREFERENCE = "selectContent";
public final static String IMAGE_BASE_PATH_EXTRA = "ImageBasePath";
public final static int OPEN_CAMERA = 4;
public final static int OPEN_MEDIA = 5
public final static String SCANNED_RESULT = "scannedResult";
public final static String IMAGE_PATH = Environment
.getExternalStorageDirectory().getPath() + "/scanSample";

public final static String SELECTED_BITMAP = "selectedBitmap";

public void openCamera() {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
File file = createImageFile();
boolean isDirectoryCreated = file.getParentFile().mkdirs();
Log.d("", "openCamera: isDirectoryCreated:  " + isDirectoryCreated);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
Uri tempFileUri = FileProvider.getUriForFile(getActivity().getApplicationContext(),
"com.scanlibrary.provider", // As defined in Manifest
file);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, tempFileUri);
} else {
Uri tempFileUri = Uri.fromFile(file);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, tempFileUri);
}
startActivityForResult(cameraIntent, ScanConstants.START_CAMERA_REQUEST_CODE);
}

private File createImageFile() {
clearTempImages();
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new
Date());
File file = new File(ScanConstants.IMAGE_PATH,  "IMG_" + timeStamp +
".jpg");
fileUri = Uri.fromFile(file);
return file;
}
Файл манифеста библиотеки сканирования

Код: Выделить всё












android:name="androidx.core.content.FileProvider"
android:authorities="com.scanlibrary.provider"
android:exported="false"
android:grantUriPermissions="true"
tools:replace="android:authorities">





Файл манифеста моего приложения
Когда я запускаю свое приложение, я получаю эту ошибку:

Код: Выделить всё

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.notepad.cuecardsnotes/com.scanlibrary.ScanActivity}: java.lang.IllegalArgumentException:  Couldn't find meta-data for provider with authority com.scanlibrary.provider
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3374)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3513)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2109)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
Caused by: java.lang.IllegalArgumentException: Couldn't find meta-data for provider with authority com.scanlibrary.provider
at androidx.core.content.FileProvider.parsePathStrategy(FileProvider.java:606)
at androidx.core.content.FileProvider.getPathStrategy(FileProvider.java:579)
at androidx.core.content.FileProvider.getUriForFile(FileProvider.java:417)
at com.scanlibrary.PickImageFragment.openCamera(PickImageFragment.java:121)
at com.scanlibrary.PickImageFragment.handleIntentPreference(PickImageFragment.java:77)
at com.scanlibrary.PickImageFragment.init(PickImageFragment.java:58)
at com.scanlibrary.PickImageFragment.onCreateView(PickImageFragment.java:48)
at android.app.Fragment.performCreateView(Fragment.java:2534)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1303)
at android.app.FragmentManagerImpl.addAddedFragments(FragmentManager.java:2431)
at android.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2210)
at android.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2166)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2067)
at android.app.FragmentManagerImpl.dispatchMoveToState(FragmentManager.java:3057)
at android.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3004)
at android.app.FragmentController.dispatchActivityCreated(FragmentController.java:184)
at android.app.Activity.performCreate(Activity.java:7822)
at android.app.Activity.performCreate(Activity.java:7804)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1318)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3349)

На моем устройстве установлена ​​версия Android 10.

Что вызывает эту ошибку?

Подробнее здесь: https://stackoverflow.com/questions/600 ... y-provider
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»