当前位置: 首页 > news >正文

Android:文件管理:打开文件意图

三步走:

一、先在AndroidManifest.xml声明provider:

        <providerandroid:name="androidx.core.content.FileProvider"android:authorities="${applicationId}.FileProvider"android:exported="false"android:grantUriPermissions="true"><meta-dataandroid:name="android.support.FILE_PROVIDER_PATHS"android:resource="@xml/provider_paths"/></provider>

二、创建@xml/provider_paths

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android"><external-path name="external_files" path="."/>
</paths>

三、打开文件:

            Intent intent = new Intent(Intent.ACTION_VIEW);File file = new File("/sdcard/Music/音乐文件.mp3");// "com.example.myapplication.FileProvider"对应AndroidManifest.xml声明的android:authorities="${applicationId}.FileProvider"Uri uri = FileProvider.getUriForFile(getApplicationContext(), "com.example.myapplication.FileProvider", file);// 其他类型根据你实际的文件来intent.setDataAndType(uri, "audio/mp3");intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);try {startActivity(intent);} catch (Exception e) {Toast.makeText(this, "没有找到播放音频的应用", Toast.LENGTH_SHORT).show();e.printStackTrace();}

http://www.lryc.cn/news/515581.html

相关文章:

  • 从纯虚类到普通类:提升C++ ABI兼容性的策略
  • QT中如何限制 限制QLineEdit只能输入字母,或数字,或某个范围内数字等限制约束?
  • Tailwind CSS 使用简介
  • iOS 逆向学习 - iOS Architecture Cocoa Touch Layer
  • C语言实现库函数strlen
  • 050_小驰私房菜_MTK Camera debug, data rate 、mipi_pixel_rate 确认
  • (六)vForm 动态表单(数据量大,下拉选卡顿问题)
  • 【mybatis-plus问题集锦系列】mybatis使用xml配置文件实现数据的基础增删改查
  • 投稿指南【NO.12_14】【极易投中】期刊投稿(毛纺科技)
  • 机器学习算法的分类
  • Linux操作系统下,挂ILA
  • HTML——26.像素单位
  • 【HTML】Day02
  • AI 自动化编程对编程教育的影响
  • Java100道面试题
  • 解密人工智能:如何改变我们的工作与生活
  • Linux postgresql-15部署文档
  • visual studio 安全模式
  • Pandas-timestamp和datetime64的区别
  • @MapperScan
  • SQL中聚类后字段数据串联字符串方法研究
  • 【嵌入式硬件】直流电机驱动相关
  • CSP初赛知识学习计划(第一天)
  • 【嵌入式硬件】嵌入式显示屏接口
  • 07-ArcGIS For JavaScript--隐藏参数qualitySettings(memory和lod控制)
  • QML自定义数值编辑框SpinBox样式
  • 【数据可视化-10】国防科技大学录取分数线可视化分析
  • 深入探索:将 Elasticsearch 与 Ruby 工具结合使用
  • Istio 补充 Kubernetes 的不足
  • 远程主机执行脚本1、无脚本内容外协。