現在作成しているアプリで、端末の各種ポリシー設定をプログラムからバックグラウンドで参照・変更する処理を実装しています。
その中で、提供元不明アプリのインストールが許可されているかを参照・更新する箇所があります。
現在は、この設定を不許可にする場合
componentName = new ComponentName(context, DeviceAdminReceiverを継承したクラス);
devicePolicyManager = (DevicePolicyManager)context.getSystemService(Context.DEVICE_POLICY_SERVICE);
devicePolicyManager.addUserRestriction(componentName, UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES);
設定内容を参照する場合
result = Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.INSTALL_NON_MARKET_APPS);
※不許可の場合は0、許可の場合は1となる想定
としています。
今までは特に問題が無かったのですが、Android8になってから、不許可にしても参照時に時々1(許可)が返却する時があり、
不安定な挙動です。
Android8では供元不明アプリのインストール許可の仕様が変わったようですが、プログラムから制御する場合、
上記の方法ではダメなのでしょうか。
良い方法がありましたら、ご教授いただけけると幸いです。
よろしくお願いします。