Android OTG U盘无法显示在系统文件管理的修改

简介: Android OTG U盘无法显示在系统文件管理的修改
Android OTG U盘无法显示在系统文件管理的修改

文件:frameworks\base\services\core\java\com\android\server\StorageManagerService.java

函数:private void onVolumeCreatedLocked(VolumeInfo vol)

如下修改:

    private void onVolumeCreatedLocked(VolumeInfo vol) {
    ......
 
        if (vol.type == VolumeInfo.TYPE_EMULATED) {
        
    ......
    
        } else if (vol.type == VolumeInfo.TYPE_PUBLIC) {
      ......
 
            // Adoptable public disks are visible to apps, since they meet
            // public API requirement of being in a stable location.
            /**********************************************************************/
            //if (vol.disk.isAdoptable()) {   //注释掉这个判断
                vol.mountFlags |= VolumeInfo.MOUNT_FLAG_VISIBLE;
            //}
            /**********************************************************************/
 
      ......
    }


上面的修改,在U盘mount的时候会起作用:


文件:system/vold/model/PublicVolume.cpp


函数:status_t PublicVolume::doMount()


status_t PublicVolume::doMount() {
    // TODO: expand to support mounting other filesystems
    readMetadata();
    ......
 
    setInternalPath(mRawPath);
    if (getMountFlags() & MountFlags::kVisible) { //这里有判断,使用storage挂载路径
        setPath(StringPrintf("/storage/%s", stableName.c_str()));
    } else {
        setPath(mRawPath);
    }
 
  ......
 
    if (!(getMountFlags() & MountFlags::kVisible)) {  //这里也有判断,会继续执行后面的创建用户空间文件系统
        // Not visible to apps, so no need to spin up FUSE
        return OK;
    }
 
  ......
    return OK;
}


目录
相关文章
|
1月前
|
Android开发
Android 如何将定制的Launcher成为系统中唯一的Launcher
Android 如何将定制的Launcher成为系统中唯一的Launcher
32 2
|
2天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的安卓的微博客系统的详细设计和实现
基于SpringBoot+Vue+uniapp的安卓的微博客系统的详细设计和实现
5 0
|
2天前
|
Java Linux Android开发
Android面试题之说说系统的启动流程(总结)
这篇文章概述了Android系统的启动流程,从Boot Rom到Zygote进程和SystemServer的启动。init进程作为用户级别的第一个进程,负责创建文件目录、初始化服务并启动Zygote。Zygote通过预加载资源和创建Socket服务,使用fork函数生成SystemServer进程。fork过程中,子进程继承父进程大部分信息但具有独立的进程ID。Zygote预加载资源以减少后续进程的启动时间,而SystemServer启动众多服务并最终开启Launcher应用。文中还讨论了为何从Zygote而非init或SystemServer fork新进程的原因。
9 2
|
9天前
|
前端开发 Java API
Android系统中读写和显示图片
Android系统中读写和显示图片
8 0
|
9天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的安卓的微博客系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的安卓的微博客系统附带文章和源代码部署视频讲解等
20 2
|
12天前
|
Java 机器人 Linux
01. 【Android教程】系统背景及结构概述
01. 【Android教程】系统背景及结构概述
8 0
|
17天前
|
运维 监控 Android开发
构建高效自动化运维系统的策略与实践构建高效Android应用:Kotlin协程的实践指南
【5月更文挑战第29天】随着信息技术的迅猛发展,企业IT基础设施变得日益复杂,传统的手动运维模式已难以满足高效率、高稳定性的要求。本文将深入探讨如何通过自动化工具和策略来构建一个高效的自动化运维系统。文中不仅分析了自动化运维的必要性,还详细介绍了实现过程中的关键步骤,包括监控、配置管理、故障响应等,并结合实际案例分析其效果,以期为读者提供一套行之有效的自动化运维解决方案。
|
17天前
|
人工智能 vr&ar Android开发
安卓与iOS系统的发展趋势及影响分析
在移动互联网时代,安卓和iOS作为两大主流移动操作系统,在不断发展变化中展现出不同的特点和发展趋势。本文从技术性角度出发,分析了安卓和iOS系统的发展趋势,并探讨了它们对移动设备市场和用户体验的影响,帮助读者更好地理解当前移动操作系统的发展方向和未来可能的变化。
17 0
|
19天前
|
存储 人工智能 安全
移动应用与系统:探索开发与操作系统的融合安卓应用开发:打造高效用户界面的关键技术
【5月更文挑战第27天】 随着移动互联网的飞速发展,移动应用和操作系统已经成为了我们日常生活中不可或缺的一部分。本文将深入探讨移动应用开发的关键要素,以及移动操作系统的核心功能。我们将分析移动应用开发的挑战和机遇,并讨论移动操作系统如何适应不断变化的技术环境。通过深入研究这些主题,我们希望为读者提供对移动应用和系统领域的全面理解。
|
19天前
|
存储 缓存 算法
深入理解操作系统内存管理:分页系统的优势与挑战构建高效Android应用:探究Kotlin协程的优势与实践
【5月更文挑战第27天】 在现代计算机系统中,内存管理是操作系统的核心功能之一。分页系统作为一种内存管理技术,通过将物理内存划分为固定大小的单元——页面,为每个运行的程序提供独立的虚拟地址空间。这种机制不仅提高了内存的使用效率,还为多任务环境提供了必要的隔离性。然而,分页系统的实现也带来了一系列的挑战,包括页面置换算法的选择、内存抖动问题以及TLB(Translation Lookaside Buffer)的管理等。本文旨在探讨分页系统的原理、优势及其面临的挑战,并通过分析现有解决方案,提出可能的改进措施。