天天看點

Android 11.0 開機時自動檢測攝像頭,有則顯示,無則隐藏Camera APK圖示

frameworks/base/services/core/java/com/android/server/am/UserController.java

檢查是否有攝像頭決定是否隐藏攝像頭圖示

private void finishUserUnlockedCompleted(UserState uss) {
++        int n = android.hardware.Camera.getNumberOfCameras();
++        if (n==0){
++            setCamera(false);
++        }else if(n>0){
++            setCamera(true);
++        }
}      
++    public void setCamera(boolean state){
++        PackageManager p = mInjector.getContext().getPackageManager();
++        if(state){
++            p.setApplicationEnabledSetting("com.android.camera2", PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
++        }else{
++            p.setApplicationEnabledSetting("com.android.camera2", PackageManager.COMPONENT_ENABLED_STATE_DISABLED, ++PackageManager.DONT_KILL_APP);
++        }
++    }