9.0 原生setting 默认应用手机助手显示异常

在Android 9.0的设置应用中,当用户在默认应用的助手设置中选择'Google Assistant'后,'使用屏幕上的文字内容'选项未能立即显示。问题出现在横竖屏切换时,AbstractPreferenceController的displayPreference方法未正确更新状态。分析指出,如果在displayPreference中调用了super.displayPreference(screen)且isAvailable返回false,将导致该设置项不显示。为解决此问题,需要在addPreference后重新设置setVisible为true。
摘要由CSDN通过智能技术生成
问题:

进入设置应用和通知>默认应用>助手和手机输入助手应用

进入助手应用,选择none,退到上一个界面,原来显示"使用屏幕上的文字内容"消失.然后切换横竖屏,在进入手机助手显示Google助理,退回上一个界面."使用屏幕上的文字内容"这个设置项没有出现,只有在横竖屏切换一次才会出现.

问题点:选择Google助理退回上一个界面,"使用屏幕上的文字内容"这个设置项就应该立刻显示出来.

先看修改:
     private void updatePreference() {
        if (mPreference == null || !(mPreference instanceof TwoStatePreference)) {
            return;
        }
        if (isAvailable()) {
            if (mScreen.findPreference(getPreferenceKey()) == null) {
                // add it if it's not on scree
                mScreen.addPreference(mPreference);
 +                setVisible(mScreen, getPreferenceKey(), true /* visible */);
 +                if (this instanceof Preference.OnPreferenceChangeListener) {
 +                    mPreference.setOnPreferenceChangeListener(
 +                        (Preference.OnPreferenceChangeListener) this);
 &#
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值