rk3368_Android5.1隐藏“擦除SD”菜单选项

1、问题描述

我们一个基于rk3368平台Android5.1系统的项目,因为我们的系统裁减了一些功能,没有外挂SD,如果在恢复出厂设置时勾选"Erase SD card"选项,就会恢复出厂设置失败。决定隐藏掉“Erase SD card"选项,来避免这个问题,下面开始动手去操作怎么去隐藏

2、寻找原代码位置

2.1、点击Erase SD card

板子通过otg线连接电脑,打开电脑adb界面,打开logcat,然后开始点击“Erase SD card”选项,

在这里插入图片描述

2.2、找到关键信息

在点击“Erase SD card”选项的同时,观察logcat打印信息,找到定位关键词:MasterClear
在这里插入图片描述

2.3、查找MasterClear所在的源码文件

  • android/packages/apps/Settings中查找名称或者内容带MasterClear的文档
  • 找到master_clear.xml文档
  • 在master_clear.xml找到含有关键词的位置,添加android:visibility="gone"进行注释

4、原代码

        <TextView android:id="@+id/other_users_present"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:visibility="gone"
            android:textSize="18sp"
            android:text="@string/master_clear_other_users_present" />
        <TextView android:id="@+id/erase_external_option_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="18sp"
            android:text="@string/master_clear_desc_erase_external_storage" />
        <LinearLayout android:id="@+id/erase_external_container"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:focusable="true"
                android:clickable="true">
            <CheckBox android:id="@+id/erase_external"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:paddingEnd="8dp"
                    android:focusable="false"
                    android:clickable="false"
                    android:duplicateParentState="true" />
            <LinearLayout android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:orientation="vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingTop="12dp"
                    android:textSize="18sp"
                    android:text="@string/erase_external_storage" />
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingTop="4sp"
                    android:textSize="14sp"
                    android:text="@string/erase_external_storage_description" />
            </LinearLayout>
        </LinearLayout>

5、修改后的代码

修改编译后,即可隐藏擦除SD菜单选项

<TextView android:id="@+id/other_users_present"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:visibility="gone"
                android:textSize="18sp"
                android:text="@string/master_clear_other_users_present" />
            <TextView android:id="@+id/erase_external_option_text"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="18sp"
                android:text="@string/master_clear_desc_erase_external_storage" />
            <LinearLayout android:id="@+id/erase_external_container"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal"
                    android:focusable="true"
                    android:clickable="true">
                <CheckBox android:id="@+id/erase_external"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:paddingEnd="8dp"
                        android:focusable="false"
                        android:clickable="false"
                        android:duplicateParentState="true" />
                <LinearLayout android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:orientation="vertical">
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:paddingTop="12dp"
                        android:textSize="18sp"
                        android:text="@string/erase_external_storage" />
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:paddingTop="4sp"
                        android:textSize="14sp"
                        android:text="@string/erase_external_storage_description" />
                </LinearLayout>
            </LinearLayout>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值