1。概要
9.0系ROMの製品開発において、ソースコードを持たないアプリについては、フローティングウィンドウのパーミッションなど、パーミッションの追加が必要なアプリもあるが、アプリはこのパーミッションに該当しないため、デフォルトであり、アプリを解析して PMS にインストールする必要があります
。フローティング ウィンドウのアクセス許可を付与します。
2. 関連するアクセス許可を付与するコア クラスを追加するソース コード アプリがない
frameworks/base/core/java/android/content/pm/PackageParser.java
frameworks/base/core/java/android/content/pm/PackageManager.java
3. ソース コードを使用せずにアプリに関連する権限を付与するコア機能の分析と実装
3.1 PackageManager.java がアプリの解析時に関連するメソッドを呼び出す
pms の管理、解析、およびインストール アプリでは、PackageManage の getPackageArchiveInfo() によって実現されます。
public PackageInfo getPackageArchiveInfo(@NonNull String archiveFilePath,
@PackageInfoFlags int flags) {
final PackageParser parser = new PackageParser();
parser.setCallback(new PackageParser.CallbackImpl(this));
final File apkFile = new File(archiveFilePath);
try {
if ((flags & (MATCH_DIRECT_BOOT_UNAWARE | MATCH_DIRECT_BOOT_AWA