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

Android获取U盘路径

1. 权限

<uses-permission android:name="android.permission.USB_PERMISSION" />

2. 通过storemanager获取usb 路径

 val storageManager = getSystemService(STORAGE_SERVICE) as StorageManager
            val volumes = storageManager.storageVolumes
            for (volume in volumes) {
                val path = volume.directory!!.path
                if (volume.isRemovable) {
                    mainViewModel.usbStorage = path
                }
            }

3. 监听u盘状态

 private fun registerUsbReceiver() {
        val filter = IntentFilter()
        filter.addAction(Intent.ACTION_MEDIA_MOUNTED)
        filter.addAction(Intent.ACTION_MEDIA_UNMOUNTED)
        filter.addAction(Intent.ACTION_MEDIA_BAD_REMOVAL)
        filter.addDataScheme("file")
        registerReceiver(usbReceiver, filter)
    }
 //默认U盘安装地址
    private val usbReceiver: BroadcastReceiver = object : BroadcastReceiver() {
        override fun onReceive(context: Context, intent: Intent) {
            val action = intent.action
            if (action == Intent.ACTION_MEDIA_MOUNTED) {
                mainViewModel.usbStorage = intent.data!!.path
                Log.d("MainActivity", "usbReceiver ${mainViewModel.usbStorage}")
            }
        }
    }

http://www.dtcms.com/a/88887.html

相关文章:

  • Python+Requests+Pytest+YAML+Allure接口自动化框架
  • 从国家能源到浙江交通投资,全息技术在能源交通领域的创新应用
  • Spring 框架基础教程(Day03)
  • JVM 01
  • C++菜鸟教程 - 从入门到精通 第五节
  • 隔空打印,IPP,IPD,HP Jetdirect协议的区别(Mac添加打印机四种协议的区别)
  • 【Unity】合批处理和GPU实例化的底层优化原理(完)
  • Spring 框架中的 BeanUtils
  • AugFPN
  • STM32标准库开发中断流程
  • 编译原理 pl0 词法解析器 使用状态机与状态矩阵,和查找上一步得到分析
  • Windows下rust的安装
  • python 中match...case 和 C switch case区别
  • 数据库联表Sql语句建一个新表(MySQL,Postgresql,SQL server)
  • Linux开机、重启与用户登录注销全解析
  • C++之模板二番战
  • Spring Boot事件机制详解
  • 【STM32】知识点介绍一:硬件知识
  • 画一个分布式系统架构图,标注服务注册、网关、熔断
  • python中的demjson包介绍
  • docker-dockerfile书写
  • 从JVM底层揭开Java方法重载与重写的面纱:原理、区别与高频面试题突破
  • 【性能优化点滴】odygrd/quill 中的冷热属性宏
  • Android Audio基础(13)——audiomixer
  • MySQL里的锁有哪些
  • Python现代化依赖管理全攻略
  • 分布式理论:CAPBASE理论
  • SpringBoot+策略模式+枚举类,使用配置文件改进,优雅消除if-else,完全符合OOP原则
  • nVisual对接企业微信实现机房设备与连接变更的自动化审批
  • 计算机网络--第四章 网络层(2)