1

我正在为 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). 但是,这也会使主音量静音(在此处记录)。这会阻止我的应用程序播放任何声音。就个人而言,我认为最好将音量简单地冻结在它的水平,或者如果音量至少可以通过编程方式进行配置(似乎并非如此)。

我可以以编程方式覆盖音量增大/减小按钮,但这感觉更像是一种解决方法/黑客(例如,这里完成)。

所以我的问题是:有没有办法在将UserManager.DISALLOW_ADJUST_VOLUME用户权限设置为 true 的同时取消主音量的静音?或者有什么体面的解决方法吗?

4

0 回答 0