美文网首页
android framework之旅(四)去除Usb权限弹窗

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

作者: 风少侠 | 来源:发表于2018-04-23 16:25 被阅读374次

    终于配置、下载、编译、刷机各种环节均已打通,回归到自己的初始目标,去除每次重启插入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/模块,替换系统文件,重启开发板,验证成功。

    相关文章

      网友评论

          本文标题:android framework之旅(四)去除Usb权限弹窗

          本文链接:https://www.haomeiwen.com/subject/tqjllftx.html