1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 修改下拉状态栏点击屏幕录制后出现ANR。禁用Hotspot tethering菜单下的 “Wi-Fi

修改下拉状态栏点击屏幕录制后出现ANR。禁用Hotspot tethering菜单下的 “Wi-Fi

时间:2022-10-14 16:28:47

相关推荐

修改下拉状态栏点击屏幕录制后出现ANR。禁用Hotspot  tethering菜单下的 “Wi-Fi

修改下拉状态栏点击屏幕录制后出现ANR:

报错信息为

rocess: com.android.systemui, PID: 5593

// java.lang.NullPointerException: Attempt to read from field 'int com.android.mon.DisplayLayout.mUiMode' on a null object reference

// at com.android.mon.DisplayLayout.set(DisplayLayout.java:145)

// at com.android.mon.DisplayLayout.<init>(DisplayLayout.java:140)

为,虽然这个systemui报错但是systemui找不到这个文件,是在frameworks下面

override/frameworks/base/libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayLayout.java

有四个个构造方法,其中有两个是类似的,都是设置相关DisplayLayout配置的,就是初始化

出错的是一个参数的

DisplayLayout(DisplayLayout dl) {

这个dl就是null,所以下面这一句set(dl);导致这个方法失效报错。

把这句注释掉不用了就行,这个方法本来就是类似下面的init的,本来官方给的注解就是sets this DisplayLayout to a copy of another on.

那就不要这个copy

另一个构造方法两个个参数

DisplayLayout(@NonNull Context context, @NonNull Display rawDisplay) {

这里面也有个

init(info, context.getResources(), hasNavigationBar(info, context, displayId),hasStatusBar(displayId));

这个方法更正规标准,测得功能一切正常。

禁用Hotspot & tethering菜单下的 “Wi-Fi hotspot:

不是删除这个菜单而是禁用,就是点不了,就跟下面那个USB一样,在没有连接是灰色禁用点不了

override/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java

displayPreference方法里直接加一句

mPreference.setEnabled(false);

类似src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java

这里面refresh方法里

if (!connected || dataRole != DATA_ROLE_DEVICE) {mProfilesContainer.setEnabled(false);} else {// Functions are only available in device modemProfilesContainer.setEnabled(true);}

默认系统语言为英文:

改个宏控,在ProjectConfig.mk

FREEME_PRODUCT_LOCALES_DEFAULT = en_US

原来是中文zh_CN

修改下拉状态栏点击屏幕录制后出现ANR。禁用Hotspot tethering菜单下的 “Wi-Fi hotspot。默认系统语言为英文。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。