android 8.1 添加多用户后,除机主外其他用户无法连接排除后访问磁盘

在vendor/mediatek/proprietary/packages/providers/MediaProvider/src/com/android/providers/media/MtpService.java的volumeMountedLocked(String path)中添加多用户判断:

 private void volumeMountedLocked(String path) {
        // for update storage
        //添加多用户模式判断逻辑,解决除机主外,其他情况下Pc端无法访问磁盘 wanchengguo 20190619 begin
       // StorageVolume[] volumes = mStorageManager.getVolumeList();

        StorageVolume[] volumes = mStorageManager.getVolumeList(
                        new UserHandle(ActivityManager.getCurrentUser()).getIdentifier(), 0);    
        //添加多用户模式判断逻辑,解决除机主外,其他情况下Pc端无法访问磁盘 wanchengguo 20190619 begin
        mVolumes = volumes;
        for (int i = 0; i < mVolumes.length; i++) {
            StorageVolume volume = mVolumes[i];
            if (volume.getPath().equals(path)) {
                mVolumeMap.put(path, volume);
                if (!mMtpDisabled) {
                    // In PTP mode we support only primary storage
                    if (volume.isPrimary() || !mPtpMode) {
                        addStorageLocked(volume);
                    }
                }
                break;
            }
        }
    }

你可能感兴趣的:(系统源码)