在UserManager.DISALLOW_ADJUST_VOLUME用户权限处于活动状态时允许声音

问题描述

我正在为COSU设备构建应用程序。我的代码基于Google提供的以下示例:

Codelabs.developers.google.com/cosu

LockedActivity中包含以下代码

private void setDefaultCosuPolicies(boolean active){

    // Set user restrictions
    setUserRestriction(UserManager.disALLOW_SAFE_BOOT,active);
    setUserRestriction(UserManager.disALLOW_FACTORY_RESET,active);
    setUserRestriction(UserManager.disALLOW_ADD_USER,active);
    setUserRestriction(UserManager.disALLOW_MOUNT_PHYSICAL_MEDIA,active);
    setUserRestriction(UserManager.disALLOW_ADJUST_VOLUME,active);

    // remainder of this method is left out for simplicity
}

private void setUserRestriction(String restriction,boolean disallow){
    if (disallow) {
        mDevicePolicyManager.addUserRestriction(mAdminComponentName,restriction);
    } else {
        mDevicePolicyManager.clearUserRestriction(mAdminComponentName,restriction);
    }
}

在以上代码段中的active == true时,由于setUserRestriction(UserManager.disALLOW_ADJUST_VOLUME,true),音量按钮被正确禁用。但是,这也会使主音量静音(已记录在here中)。 这会阻止我的应用播放任何声音。就个人而言,我认为最好是将卷仅冻结在其原来的水平上,或者如果该卷至少可以通过编程方式仍可配置(似乎并非如此)。

我可以以编程方式覆盖音量调高/调低按钮,但这听起来更像是一种变通方法/破解(例如,here完成了)。

所以我的问题是:在将UserManager.disALLOW_ADJUST_VOLUME用户权限设置为true的同时,是否可以取消静音主卷?还是有任何不错的解决方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)