Android 12.0 システムは、デフォルトでサードパーティ製アプリに読み取りおよび書き込み権限を付与します。

1。概要

 12.0 システム rom カスタマイズ開発では、6.0 より前では読み取りおよび書き込み権限がデフォルトで付与されており、アプリは権限を申請する必要はありませんが、10.0 より前では、android.permission.WRITE_EXTERNAL_STORAGE および android.permission.READ_EXTERNAL_STORAGE 権限が必要です
。 SD カードの読み取りと書き込みの管理を引き続き強化し、以前の WRITE_EXTERNAL_STORAGE の有効期限が切れた一方で、MANAGE_EXTERNAL_STORAGE 権限を導入しました。
また、MANAGE_EXTERNAL_STORAGE 権限は、設定ページにジャンプすることによってのみ適用できます。
12.0 では次のような権限を申請する必要があります

アプリのアプリケーション権限

     if (sdk_Int >= 30) {
                    if (!Environment.isExternalStorageManager()) {
                        Intent intent = new Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION);
                        startActivity(intent);
                        return;
                    }
                    writeAndReaderFile();
                    return;
                }

2. サードパーティアプリに読み取りおよび書き込み権限を付与するシステムのコアコード部分

      frameworks/base/core/java/android/app/AppOpsManager.java

3. コアコード部分の分析と、システムによってサードパーティアプリに付与される読み取りおよび書き込み権限の機能実現
  3.1AppOpsManager.j

おすすめ

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