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