usb修改成默認MTP模式

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

getUsbDataMode() 中  // select none if no found
                                         return -1; // ...  《修改成 return 0; 或者                android

                                                                        // select none if no found
                                                                        if (isTestSwitchOn()){
                                                                            return 0;
                                                                        }else{
                                                                           return MODE_DATA_MTP;
                                                                        } 》app

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

case MSG_UPDATE_STATE:server

                    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;
                        }
                    }get

 

 

//判斷是否爲測試模式:it

    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;
    }io

相關文章
相關標籤/搜索