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

Android 12.0 系统修改usb连接电脑mtp和PTP的显示名称

1.前言

  在12.0的系统产品rom定制化开发中,在usb模块otg连接电脑,调整为mtp文件传输模式的时候,这时可以在电脑看到手机的内部存储
显示在电脑的盘符中,会有一个mtp名称做盘符,所以为了统一这个名称,就需要修改这个名称,接下来分析下处理的方法来解决这个问题

2.系统修改usb连接电脑mtp和PTP的显示名称的核心代码

        frameworks\base\media\java\android\mtp\MtpDatabase.java/frameworks/av/media/mtp/MtpServer.cpp

3.系统修改usb连接电脑mtp和PTP的显示名称的核心功能分析和实现

MTP的全称是Media Transfer Protocol(媒体传输协议),它是微软公司提出的一套媒体文件传输协议。Android从3.0开始支持MTP

在android系统中,在关于mtp模式下usb文件传输过程中,在对mtp的数据库的管理就是在MtpDatabase.java中负责保存数据,
mtp在文件的拷贝,删除,重命名等这些操作强制判定操作不允许或者文件写保护,用到的属性为MtpConstants.RESPONSE_ACCESS_DENIED,
MtpConstants.RESPONSE_OBJECT_WRITE_PROTECTED。

MtpRequestPacke负责从USB驱动读取数据,并结构化命令格式及其参数、MtpDataPacket负责结构化手机要返回给PC的数据包、MtpResponsePacket负责结构化手机要给PC返回的response。MtpServer负责解析来自PC的命令并调用相应的接口函数进行处理。
Java层包括UsbRecei

相关文章:

  • [概率论]期中考AB卷题目答案及详解
  • IDEA 配置阿里规范检测
  • Visio 2003简体中文版软件安装教程(附软件下载地址)
  • 【大模型学习记录】db-gpt源码安装问题汇总
  • 计算机毕业设计-基于Python的“哔哩哔哩视频网”视频热度分析
  • Python爬虫-数据采集和处理
  • Linux初识环境变量
  • HarmonyOS4.0—自定义渐变导航栏开发教程
  • HTML静态网页成品作业(HTML+CSS)——非遗徽州木雕网页(6个页面)
  • Vue2前端权限控制实战
  • P8711 [蓝桥杯 2020 省 B1] 整除序列 存疑解决篇 Python
  • 【SpringSecurity】十三、基于Session实现授权认证
  • php 对接Pangle海外广告平台收益接口Reporting API
  • mysql之基本概念与安装
  • maven手动上传的第三方包 打包项目报错 Could not find xxx in central 解决办法
  • CODING 缺陷管理功能正式开始公测
  • github指令
  • Javascript 原型链
  • Java超时控制的实现
  • nodejs实现webservice问题总结
  • PAT A1017 优先队列
  • Vue小说阅读器(仿追书神器)
  • vue自定义指令实现v-tap插件
  • Webpack 4x 之路 ( 四 )
  • 测试开发系类之接口自动化测试
  • 关于List、List?、ListObject的区别
  • 回流、重绘及其优化
  • 机器学习 vs. 深度学习
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 前端面试题总结
  • 学习Vue.js的五个小例子
  • ​你们这样子,耽误我的工作进度怎么办?
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • # 达梦数据库知识点
  • #define,static,const,三种常量的区别
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (正则)提取页面里的img标签
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)创业的注意事项
  • (转)大型网站的系统架构
  • (转)为C# Windows服务添加安装程序
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .NET 设计一套高性能的弱事件机制
  • .NET 事件模型教程(二)
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d
  • /usr/bin/env: node: No such file or directory
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • [20180129]bash显示path环境变量.txt
  • [BUUCTF 2018]Online Tool(特详解)