1. 前言
在android10.0的系統定制化開發中,對于usb作為otg連接電腦時,在mtp模式下會作為一個存儲器在電腦端顯示,作為電腦的
一個盤符,來顯示設備的內部存儲的文件,所以說如果要對設備內部的資料做保密處理的時候,需要在mtp模式下不顯示某些
文件夾,接下來就分析下相關源碼來實現功能
實際效果圖如圖:

2.mtp模式下連接PC后只顯示指定文件夾功能實現的核心類
frameworks\base\media\java\android\mtp\MtpDatabase.java
packages/providers/MediaProvider/src/com/android/providers/media/MtpService.java
3.mtp模式下連接PC后只顯示指定文件夾功能實現的核心功能分析和實現
在10.0的系統中,在android設備啟動之后,當在系統媒體的掃描核心類中MediaScannerReceiver
(package/providers/MediaProvider/src/com/android/providers/media/MediaScannerReceiver.java)
中監聽到開機完成廣播(android.intent.action.BOOT_COMPLETED)時,
會啟動MeidaScannerService,對整個設備內部的存儲設備進行掃描,
并將掃描到的文件存入數據庫,當需要顯示這些文件的時候,就需要通