Android 13.0は、OTGデバイスをアンインストールして電源を入れたときにOTGデバイスを読み込まない機能を実装します

1。概要

13.0 カスタマイズ ROM 製品の開発プロセス中に、顧客には機能要件があります。システム属性値は、OTG デバイスをロードしてマウントするかどうかを制御します。アンインストール モードに設定されている場合、
は実行できません。 request otg デバイスをマウントします。コンピュータの電源が入っていても、otg デバイスはマウントできません。次に、 関連機能の実装を分析します

2. otg デバイスをアンインストールし、otg デバイスのコア コードをロードせずに起動します。

frameworks/base/services/core/java/com/android/server/StorageManagerService.java

3. otg デバイスのアンインストールと起動時に otg デバイスをロードしない機能分析と実装

システムは、StorageManager クラスを通じて U ディスクの挿入および取り外しイベントを検出します。 StorageEventListener リスナーを登録すると、USB ディスク挿入イベントが発生したときに通知を受け取ることができます。
Vold はボリューム デーモンと呼ばれ、外部ストレージ デバイスのネイティブ デーモン プロセスを管理するために使用されます。これは非常に重要です。デーモン プロセスは、主に NetlinkManager、 VolumeManager、
CommandListener で構成されます。カーネルがファイル システムを検出すると、Vold を介してそれらを自動的にマウントします。
外部ストレージ デバイスが挿入されると、カーネルは uevent イベントを生成し、ネイティブ層の Vold モジュールに送信されます。
Vold は、ソケット メカニズムを通じてカーネルから uevent イベントを取得し、そのイベントを解析するデーモン プロセスです。
MountService は、Vold によって解析された対応するステータスに基づいて、送信するブロードキャストの種類と Vold への応答の種類を決定します。
最後に、Vold は MountService の応答に基づいて少しの処理を実行し、処理のためにカーネルに渡します。
StorageManager はシステム ストレージ サービスのインターフェイスです。ストレージ マネージャーは、ストレージ関連のプロジェクトを処理します。
実装のアイデア:
1.StorageManage

おすすめ

転載: blog.csdn.net/baidu_41666295/article/details/134955950