博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
usb修改为默认MTP模式
阅读量:5994 次
发布时间:2019-06-20

本文共 1202 字,大约阅读时间需要 4 分钟。

hot3.png

1.packages/apps/Settings / src/com/android/settings/deviceinfo/UsbBackend.java

getUsbDataMode() 中  // select none if no found

                                         return -1; // ...  《修改为 return 0; 或者                

                                                                        // select none if no found

                                                                        if (isTestSwitchOn()){
                                                                            return 0;
                                                                        }else{
                                                                           return MODE_DATA_MTP;
                                                                        } 》

2.frameworks/base / services/usb/java/com/android/server/usb/UsbDeviceManager.java

case MSG_UPDATE_STATE:

                    if (!mConnected) {

                        // When a disconnect occurs, relock access to sensitive user data
                        mUsbDataUnlocked = false;
                    }else if(mConnected){
                        if(UsbManager.containsFunction(getDefaultFunctions(),UsbManager.USB_FUNCTION_MTP)){
                           mUsbDataUnlocked = true;
                        }
                    }

 

 

//判断是否为测试模式:

    private boolean isTestSwitchOn(){

        try {
                final String configPath="//sys//class//android_usb//android0//usb_mode";
                FileInputStream inStream=new FileInputStream(configPath);
                byte[] buffer= new byte[1];
                int nu=inStream.read(buffer);
                inStream.close();
                if (nu > 0){
                    if("1".equals(new String(buffer))){
                        return true;
                    }else {
                        return false;
                    }
                }else {
                    return true;
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
                // default test mode without usb_mode file.
                return true;
            } catch (IOException e) {
                e.printStackTrace();
            }
            return false;
    }

转载于:https://my.oschina.net/u/248383/blog/1586189

你可能感兴趣的文章
数据库知识笔记
查看>>
企业级备份方案系列PART1:SCDPM 2012安装和配置
查看>>
小蚂蚁学习Redis笔记(1)——Redis简介、适用场景、对比
查看>>
我的友情链接
查看>>
ESXI支持linux远程命令管理
查看>>
linux内核动态加载模块
查看>>
ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)
查看>>
java垃圾回收算法之-标记清除
查看>>
压缩工具及bash脚本编程
查看>>
学习SpringMVC——你们要的REST风格的CRUD来了
查看>>
在EditPlus中使用代码格式化插件
查看>>
MYSQL主从复制部署流程
查看>>
Java中的增强 for 循环 foreach
查看>>
Webpack 资源管理
查看>>
JSP原理与脚本元素
查看>>
关于cisco2911/k9
查看>>
dd测试硬盘性能
查看>>
第二天
查看>>
exportfs命令、客户端文件属主属组nobody解决办法
查看>>
六、GIT
查看>>