У меня есть приложение, которое использует flutter_webview_plugin 0.3.8
. Я открываю веб-страницу в веб-просмотре и показываю ее содержимое. На странице есть кнопка, и когда вы нажимаете на нее, она должна открыть проводник, как это делается в обычном веб-браузере, например, в Chrome. Кнопка отлично работает в Chrome и открывает нижний виджет для выбора действия (камера, файлы,...). Но в моем веб-просмотре он вылетает с ошибкой Couldn't find meta-data for provider with authority com.example.booshehr.fileprovider
. Полная ошибка:
W/System.err(15213): java.lang.IllegalArgumentException: Couldn't find meta-data for provider with authority com.example.booshehr.fileprovider
W/System.err(15213): at androidx.core.content.FileProvider.parsePathStrategy(FileProvider.java:606)
W/System.err(15213): at androidx.core.content.FileProvider.getPathStrategy(FileProvider.java:579)
W/System.err(15213): at androidx.core.content.FileProvider.getUriForFile(FileProvider.java:417)
W/System.err(15213): at com.flutter_webview_plugin.WebviewManager.getOutputFilename(WebviewManager.java:272)
W/System.err(15213): at com.flutter_webview_plugin.WebviewManager.access$800(WebviewManager.java:42)
W/System.err(15213): at com.flutter_webview_plugin.WebviewManager$3.onShowFileChooser(WebviewManager.java:211)
W/System.err(15213): at In.a(PG:145)
W/System.err(15213): at uE0.runFileChooser(PG:2)
W/System.err(15213): at android.os.MessageQueue.nativePollOnce(Native Method)
W/System.err(15213): at android.os.MessageQueue.next(MessageQueue.java:325)
W/System.err(15213): at android.os.Looper.loop(Looper.java:142)
W/System.err(15213): at android.app.ActivityThread.main(ActivityThread.java:6710)
W/System.err(15213): at java.lang.reflect.Method.invoke(Native Method)
W/System.err(15213): at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
W/System.err(15213): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:770)
F/chromium(15213): [FATAL:jni_android.cc(249)] Please include Java exception stack in crash report
F/libc (15213): Fatal signal 5 (SIGTRAP), code 1 in tid 15213 (xample.booshehr)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'lge/elsa_global_com/elsa:8.0.0/OPR1.170623.032/18325232422a1:user/release-keys'
Revision: '12'
ABI: 'arm64'
pid: 15213, tid: 15213, name: xample.booshehr >>> com.example.booshehr <<<
signal 5 (SIGTRAP), code 1 (TRAP_BRKPT), fault addr 0x714216eb04
x0 0000000000000000 x1 0000000000000081 x2 000000007fffffff x3 0000000000000000
x4 0000000000000000 x5 0000000000000000 x6 0000000000000000 x7 7f7f7f7f7fffff7f
x8 0000000000000000 x9 0000000000000000 x10 0000000000000001 x11 0000000000000000
x12 0000007134d6ff00 x13 0000000000000000 x14 0000000000000000 x15 000000716228c000
x16 000000715dfd2208 x17 000000715df25c50 x18 000000006fba3d30 x19 0000007fd17f5c70
x20 0000007fd17f5c78 x21 0000007fd17f5c80 x22 000000000000004f x23 000000715dfd4808
x24 0000007143e3f000 x25 0000007fd17f5e70 x26 0000000000000001 x27 0000007162612a48
x28 0000007162612a48 x29 0000007fd17f5c60 x30 000000714216e9c4
sp 0000007fd17f57b0 pc 000000714216eb04 pstate 0000000060000000
backtrace:
#00 pc 0000000001e9fb04 /data/app/com.android.chrome-HU8bsIOJpUMqks882ELhSA==/base.apk (offset 0xc19000)
#01 pc 0000000001e9f9c0 /data/app/com.android.chrome-HU8bsIOJpUMqks882ELhSA==/base.apk (offset 0xc19000)
Я пытался добавить provider
в androidmanifest, все та же ошибка:
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileProvider"
android:exported="false"
android:grantUriPermissions="true"
tools:replace="android:authorities">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/filepaths"
tools:replace="android:resource" />
</provider>
my @xml/filepaths
is:
<?xml version="1.0" encoding="utf-8"?>
<paths>
<files-path name="myapp" path="images/"/>
</paths>
Затем я попытался изменить android:authorities="${applicationId}.fileProvider"
на android:authorities="${applicationId}.myOwnFileProvider"
, все та же ошибка.
Пожалуйста, помогите мне в этом.