Flutter-使用ACTION_EDIT意向时出现PlatformException

阿隆·耶格尔(Alon Yeager)

我正在使用该android_intent软件包发送ACTION_EDIT意图以使图像可编辑,但是我一直收到错误消息。

我在网上查找问题,发现FileProvider如果我的SDK版本高于或等于,我需要创建一个扩展类24以解决问题,但我不知道该如何解决。

我使用的功能是选择图像并将其发送到电话编辑器:

Future getImage() async {
    var image = await ImagePicker.pickImage(source: ImageSource.camera);

    if (Platform.isAndroid) {
      var intent =
          AndroidIntent(action: 'action_edit', data: image.uri.toString());
      await intent.launch();
    }

    setState(() {
      _image = image;
    });
}

我得到的错误:

PlatformException (PlatformException(error, file:///storage/emulated/0/Android/data/com.example.app/files/Pictures/eebbf5f6-0a08-462b-9564-63c1a226e6a24636306815702344465.jpg exposed beyond app through Intent.getData(), null))

I/io.flutter.plugins.androidintent.AndroidIntentPlugin(30575): Sending intent Intent { act=action_edit dat=file:///storage/emulated/0/Android/data/com.example.app/files/Pictures/eebbf5f6-0a08-462b-9564-63c1a226e6a24636306815702344465.jpg }
E/MethodChannel#plugins.flutter.io/android_intent(30575): Failed to handle method call
E/MethodChannel#plugins.flutter.io/android_intent(30575): android.os.FileUriExposedException: file:///storage/emulated/0/Android/data/com.example.app/files/Pictures/eebbf5f6-0a08-462b-9564-63c1a226e6a24636306815702344465.jpg exposed beyond app through Intent.getData()
E/MethodChannel#plugins.flutter.io/android_intent(30575):   at android.os.StrictMode.onFileUriExposed(StrictMode.java:1978)
E/MethodChannel#plugins.flutter.io/android_intent(30575):   at android.net.Uri.checkFileUriExposed(Uri.java:2371)
E/MethodChannel#plugins.flutter.io/android_intent(30575):   at android.content.Intent.prepareToLeaveProcess(Intent.java:10936)
E/MethodChannel#plugins.flutter.io/android_intent(30575):   at android.content.Intent.prepareToLeaveProcess(Intent.java:10887)
E/MethodChannel#plugins.flutter.io/android_intent(30575):   at android.app.Instrumentation.execStartActivity(Instrumentation.java:1667)
E/MethodChannel#plugins.flutter.io/android_intent(30575):   at android.app.Activity.startActivityForResult(Activity.java:4688)
E/MethodChannel#plugins.flutter.io/android_intent(30575):   at android.app.Activity.startActivityForResult(Activity.java:4646)
E/MethodChannel#plugins.flutter.io/android_intent(30575):   at android.app.Activity.startActivity(Activity.java:5007)

您知道如何解决这个问题吗?

阿隆·耶格尔(Alon Yeager)

某种程度上解决了问题,将意向包从更改android_intentintent,然后以某种方式查看了ACTION_EDIT模拟器/电话上没有的可用应用程序

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章