android framework之旅(四)去除Usb权限弹窗

终于配置、下载、编译、刷机各种环节均已打通,回归到自己的初始目标,去除每次重启插入usb后的权限弹窗提示。

环境

源码版本:5.1.1

修改

我们打开/frameworks/base/packages/SystemUI/src/com/android/systemui/usb/UsbPermissionActivity.java文件,伪代码如下:

public class UsbPermissionActivity extends AlertActivity
        implements DialogInterface.OnClickListener, CheckBox.OnCheckedChangeListener {
    ...
    private boolean mPermissionGranted;
   
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        ...
        setupAlert();//弹窗
    }

    @Override
    public void onDestroy() {
       //onDestory相关操作,保存状态等
    }

    public void onClick(DialogInterface dialog, int which) {
        if (which == AlertDialog.BUTTON_POSITIVE) {//点击确定
            mPermissionGranted = true;
        }
        finish();
    }

    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
       //checkbox的处理
    }
}

源码很简单,确认授予权限的操作就是将mPermissionGranted改为true,然后将界面finish掉,出发onDestroy保存相关状态。
为了不显示该弹窗,我们直接在onCreate中去掉弹窗的操作,并添加点击确定按钮时的操作:

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        ...
        //setupAlert();
        mPermissionGranted = true;
        finish();
    }

最后重新编译/frameworks/base/packages/SystemUI/模块,替换系统文件,重启开发板,验证成功。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.更改设置中的平板加密为不加密的: 修改\device\intel\cherrytrail\cht_cr_rvp...
    cc小表弟阅读 12,990评论 2 20
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,901评论 25 709
  • GIT 查看 git 被追踪的所有文件:From master 分支 当前分支 git仓库clone默认只下载ma...
    Whyn阅读 4,153评论 0 0
  • 首先,你一眼看到的是什么? 画面最明亮部分,一位正在屏住呼吸,扎好弓步,练功(!?)的年轻女孩。不对,这分明是在拍...
    汉口张叔叔阅读 1,450评论 0 1

友情链接更多精彩内容