我有一个下载的android文件夹上的.pdf,我想用Flutter打开它。
我试探着:
final AndroidIntent intent = AndroidIntent(
action: 'android.os.Intent.ACTION_VIEW', //android.os.Intent.ACTION_VIEW action_view
data: Uri.encodeFull("/storage/emulated/0/Download/myfile.pdf"), // content:// file://
//type: "application/*",
flags: [
Flag.FLAG_GRANT_READ_URI_PERMISSION,
Flag.FLAG_GRANT_PERSISTABLE_URI_PERMISSION,
Flag.FLAG_ACTIVITY_NEW_TASK
]);
intent.launch();
但我得到以下错误:
V/IntentSender( 8997): Sending intent Intent { act=android.os.Intent.ACTION_VIEW dat=/storage/emulated/0/Download/myfile.pdf flg=0x10000041 (has extras) }
E/MethodChannel#dev.fluttercommunity.plus/android_intent( 8997): Failed to handle method call
E/MethodChannel#dev.fluttercommunity.plus/android_intent( 8997): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.os.Intent.ACTION_VIEW dat=/storage/emulated/0/Download/myfile.pdf flg=0x10000041 (has extras) }
dev.fluttercommunity.plus.androidintent.MethodCallHandlerImpl.onMethodCall(MethodCallHandlerImpl.java:95)
E/flutter ( 8997): [ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: PlatformException(error, No Activity found to handle Intent { act=android.os.Intent.ACTION_VIEW dat=/storage/emulated/0/Download/myfile.pdf flg=0x10000041 (has extras) }, null, android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.os.Intent.ACTION_VIEW dat=/storage/emulated/0/Download/myfile.pdf flg=0x10000041 (has extras) }
E/flutter ( 8997): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:607:7)
E/flutter ( 8997): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:167:18)
E/flutter ( 8997): <asynchronous suspension>
E/flutter ( 8997): #2 AndroidIntent.launch (package:android_intent_plus/android_intent.dart:150:5)
E/flutter ( 8997): <asynchronous suspension>
我需要一个额外的权限吗?提供者?还有什么吗?有什么建议吗?Thankss〈3
1条答案
按热度按时间tquggr8v1#
请尝试以下导入“package:open_file/open_file. dart”;