终于配置、下载、编译、刷机各种环节均已打通,回归到自己的初始目标,去除每次重启插入usb后的权限弹窗提示。
环境
源码版本:5.1.1
修改
我们打开/frameworks/base/packages/SystemUI/src/com/android/systemui/usb/UsbPermissionActivity.java文件,伪代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
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中去掉弹窗的操作,并添加点击确定按钮时的操作:
1 2 3 4 5 6 7 8 9 |
@Override public void onCreate(Bundle icicle) { super.onCreate(icicle); ... //setupAlert(); mPermissionGranted = true; finish(); } |
最后重新编译/frameworks/base/packages/SystemUI/模块,替换系统文件,重启开发板,验证成功。