Android8.1默认MTP

由于项目需求,平台MT6580 Android8.1代码默认MTP方法

一、system.prop文件增加persist.sys.usb.config=mtp系统属性

二、UsbDeviceManager.java中增加修改红色部分代码

@Override
    public void handleMessage(Message msg) {
        switch (msg.what) {
        case MSG_UPDATE_STATE:
            mConnected = (msg.arg1 == 1);
            mConfigured = (msg.arg2 == 1);
            boolean isfirst = true;
            updateUsbNotification(false);
            updateAdbNotification(false);
            if (mBootCompleted) {
                updateUsbStateBroadcastIfNeeded(false);
            }
            if (UsbManager.containsFunction(mCurrentFunctions,
                    UsbManager.USB_FUNCTION_ACCESSORY)) {
                updateCurrentAccessory();
            }
            if (mBootCompleted) {
                if (!mConnected) {
                    // restore defaults when USB is disconnected
                    // setEnabledFunctions(null, !mAdbEnabled, false);
                    setEnabledFunctions("mtp", true, true);
                } else {
                    if (isfirst) {
                        mUsbDataUnlocked = true;
                        isfirst = false;
                    }

                }
                updateUsbFunctions();
            } else {
                mPendingBootBroadcast = true;
            }
            break;
        }
    }

你可能感兴趣的:(Android手机平台开发)