Android Intent ACTION_VIEW无法打开外部SD卡中的文件。
创始人
2024-08-14 05:33:16
0

要使用Android Intent ACTION_VIEW打开外部SD卡中的文件,您需要获取文件的URI,并将其传递给Intent的setDataAndType()方法。以下是一个代码示例,演示如何解决此问题:

// 首先,您需要获取外部SD卡上的文件URI
File file = new File(Environment.getExternalStorageDirectory(), "path_to_your_file");
Uri uri = FileProvider.getUriForFile(context, context.getPackageName() + ".provider", file);

// 创建Intent并设置Action为ACTION_VIEW
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "application/pdf"); // 这里假设您要打开的是PDF文件

// 授予URI的临时访问权限
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

// 检查是否有任何应用程序可以处理此Intent
PackageManager packageManager = context.getPackageManager();
List activities = packageManager.queryIntentActivities(intent, 0);
boolean isIntentSafe = activities.size() > 0;

// 如果有任何应用程序可以处理此Intent,则启动它
if (isIntentSafe) {
    context.startActivity(intent);
}

上述代码中的"path_to_your_file"应替换为您要打开的文件的实际路径。此外,您需要在AndroidManifest.xml文件中添加一个内容提供者(FileProvider)来授予URI的临时访问权限。以下是一个示例的AndroidManifest.xml文件配置:


    
        
        
            
        
    

在res目录下创建一个名为file_paths.xml的xml文件,并添加以下内容:


    

这样,您就可以使用Android Intent ACTION_VIEW打开外部SD卡中的文件了。请注意,您可能需要根据实际情况进行调整和修改。

相关内容

热门资讯

黑科技辅助挂(Wepoke数据... 黑科技辅助挂(Wepoke数据)AaPOKER往昔真的是有挂!太实锤了一直有挂(2025已更新)(哔...
黑科技游戏(德扑平台)AAPo... 黑科技游戏(德扑平台)AAPoKER先前存在有挂!太离谱了往昔是真的有挂(2024已更新)(哔哩哔哩...
黑科技挂(Wepoke苹果版)... 黑科技挂(Wepoke苹果版)wpk线上竟然有挂!太夸张了本来存在有挂(2025已更新)(哔哩哔哩)...
黑科技脚本(wpk新版)AAp... 黑科技脚本(wpk新版)AApOKER一向真的有挂!太坑了从来真的有挂(2022已更新)(哔哩哔哩)...
黑科技科技(wpk透视辅助)德... WePoker透视辅助工具核心要点解析‌,黑科技科技(wpk透视辅助)德扑之星好像存在有挂!太实锤了...
黑科技有挂(pokermast... 1、黑科技有挂(pokermastersteam外挂)微扑克好像真的有挂!太实锤了竟然是有挂(202...
黑科技规律(Wepoke AI... 黑科技规律(Wepoke AI)微扑克数据总是是有挂!太嚣张了原生存在有挂(2025已更新)(哔哩哔...
黑科技讲解(聚星扑克德州)来玩... 1、黑科技讲解(聚星扑克德州)来玩德州app一贯是真的有挂!太离谱了本来有挂(2021已更新)(哔哩...
黑科技总结(xpoker)菠萝... 黑科技总结(xpoker)菠萝德州app先前有挂!太实锤了本来真的有挂(2026已更新)(哔哩哔哩)...
黑科技科技(wpk线上德州俱乐... 您好,wpk线上德州俱乐部这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩...