更改联想PAD启动小智语音的时机

This commit is contained in:
董宏宇
2021-07-24 00:50:44 +08:00
committed by zhongchao
parent eaf0700cb8
commit 674c420771
6 changed files with 117 additions and 55 deletions

View File

@@ -1,14 +1,10 @@
package com.mogo.module.main;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.FrameLayout;
@@ -43,6 +39,7 @@ import com.mogo.service.statusmanager.StatusDescriptor;
import com.mogo.skin.support.SkinMode;
import com.mogo.utils.NetworkUtils;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.permissions.PermissionsDialogUtils;
import com.zhidao.adasconfig.api.AdasConfigApiController;
import com.zhidao.adasconfig.common.log.LoggerController;
import com.zhidao.autopilot.support.api.AutopilotServiceManage;
@@ -148,9 +145,7 @@ public class MainActivity extends MvpActivity<MainView, MainPresenter> implement
if (Settings.canDrawOverlays(this)) {
return;
}
// Intent intent=new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
// startActivityForResult(intent, REQUEST_CODE_DIALOG);
openAppDetails("显示悬浮窗");
PermissionsDialogUtils.openAppDetails(this, "显示悬浮窗", REQUEST_CODE_DIALOG);
}
}
@@ -468,43 +463,27 @@ public class MainActivity extends MvpActivity<MainView, MainPresenter> implement
} else {
// 弹出对话框告诉用户需要权限的原因, 并引导用户去应用权限管理中手动打开权限按钮
if (!isFirst) {
openAppDetails(null);
PermissionsDialogUtils.openAppDetails(this, null, REQUEST_CODE_DIALOG);
isFirst = true;
}
}
}
}
/**
* 打开APP的详情设置
*/
private void openAppDetails(String msg) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
if (TextUtils.isEmpty(msg)) {
builder.setMessage("请在 “应用信息 -> 权限” 中授予权限");
} else {
builder.setMessage("请在 “应用信息 -> 权限” 中授予【" + msg + "】权限");
}
builder.setPositiveButton("手动授权", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setData(Uri.parse("package:" + getPackageName()));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
startActivity(intent);
}
});
builder.setNegativeButton("取消", null);
builder.show();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Logger.d(TAG, "requestCode: " + requestCode + " resultCode: " + resultCode);
if (requestCode == REQUEST_CODE_DIALOG) {
//申请悬浮窗权限
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
// 检查是否有悬浮窗权限
if (Settings.canDrawOverlays(this)) {
startVoicePad();
}
} else {
startVoicePad();
}
}
}
}