1.通过提示框可以找到提示框定义的地方在 : vender/mediatek/proprietary/frameworks/base/storage/java/com/mediatek/strorage/StrorageDefaultPathDialog.java 内
2.查看提示框的创建代码
private void createDialog() {
final AlertController.AlertParams p = mAlertParams;
p.mTitle = mInsertOtg ? getString(com.mediatek.internal.R.string.usb_storage_ready_title) :
getString(com.mediatek.internal.R.string.sdcard_ready_title);
p.mView = createView();
p.mViewSpacingSpecified=true;
p.mViewSpacingLeft=15;
p.mViewSpacingRight=15;
p.mViewSpacingTop=5;
p.mViewSpacingBottom=5;
p.mPositiveButtonText = getString(android.R.string.yes);
p.mPositiveButtonListener = this;
p.mNegativeButtonText = getString(android.R.string.no);
p.mNegativeButtonListener = this;
setupAlert();
}
3.上面的createDialog方法在onCreate里面回调,可以在上面的createDialog方法中看到代码中给OK和NO(cancel)按钮设置了点击事件,往下看点击事件走的逻辑
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
onOK();
break;
case DialogInterface.BUTTON_NEGATIVE:
onCancel();
break;
}
}
4.可以看到点击OK和cancel按钮的时候分别执行的事件,这时候我们只需要默认走点击OK按键里面的逻辑
5.在onCreate里面把调用createDialog的方法注释掉,将onOK方法添加即可不弹提示框,默认走确认的逻辑
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG,"StorageDefaultPathDialog onCreate()");
mSDCardStateFilter = new IntentFilter(SD_ACTION);
mSDCardStateFilter.addDataScheme("file");
mReceiver = mSDStateReceiver;
mInsertOtg = getIntent().getBooleanExtra(INSERT_OTG, false);
//createDialog();注释掉
onOK();//调用onOK方法
}