修改文件:/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/applications/manageapplications/RecoveryPrefPreferenceController.java
+import android.app.AlertDialog;
import android.content.Context;
import android.os.Bundle;
import android.os.PowerManager;
import android.text.TextUtils;
-
+import android.app.AlertDialog;
+import android.content.DialogInterface;
import androidx.preference.Preference;
import com.android.settings.core.PreferenceControllerMixin;
@@ -28,7 +30,7 @@
public class RecoveryPrefPreferenceController extends AbstractPreferenceController
implements PreferenceControllerMixin {
-
+
private Context mContext;
public RecoveryPrefPreferenceController(Context context) {
@@ -40,11 +42,33 @@
public boolean handlePreferenceTreeClick(Preference preference) {
if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
return false;
+
}
- PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
- pm.reboot("recovery");
- return true;
+
+ final boolean[] flag = {false}; // 将 flag 变量改为数组形式,并且声明为 final
+ AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
+ builder.setMessage("是否继续进入recovery");
+ builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
+ pm.reboot("recovery");
+ flag[0] = true; // 修改 flag 变量的值
+ dialog.dismiss(); // 关闭对话框
+ }
+ });
+ builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();// 关闭对话框
+ }
+ });
+ builder.create().show();
+ return flag[0];
}