Commit 429cdd0c authored by david's avatar david

1.增加通知权限申请

parent cefa327d
......@@ -3,6 +3,7 @@ package com.xxp.carEnter.ui.activity;
import android.Manifest;
import android.app.AlertDialog;
import android.app.DownloadManager;
import android.app.NotificationManager;
import android.app.ProgressDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
......@@ -17,6 +18,7 @@ import android.os.Build;
import android.os.Environment;
import android.os.Handler;
import android.os.Looper;
import android.provider.Settings;
import android.text.InputType;
import android.text.TextUtils;
import android.util.Log;
......@@ -27,6 +29,7 @@ import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
import androidx.annotation.RequiresApi;
import androidx.core.content.FileProvider;
import com.xxp.carEnter.Date.SharedPreferencesUtils;
......@@ -310,6 +313,7 @@ public class LoginActivity extends xxBaseActivity implements LoginView {
finish();
}
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public void navigateToVersion(String versionCode) {
knownVersion = versionCode;
......@@ -324,8 +328,16 @@ public class LoginActivity extends xxBaseActivity implements LoginView {
// 应用程序版本过旧,弹出更新提示框
showUpdateDialog();
} else if (compareResult == 0) {
boolean flag = isNotificationEnabled(this);
if (!flag) {
showNotificationAlertDialog(this);
}
System.out.println("应用程序版本已是最新!");
} else {
boolean flag = isNotificationEnabled(this);
if (!flag) {
showNotificationAlertDialog(this);
}
System.out.println("应用程序版本较新!");
}
}
......@@ -443,4 +455,37 @@ public class LoginActivity extends xxBaseActivity implements LoginView {
public void onPointerCaptureChanged(boolean hasCapture) {
super.onPointerCaptureChanged(hasCapture);
}
// 检查通知权限是否被开启
@RequiresApi(api = Build.VERSION_CODES.N)
public boolean isNotificationEnabled(Context context) {
NotificationManager notificationManager =
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
return notificationManager != null && notificationManager.areNotificationsEnabled();
}
// 显示提示对话框
public void showNotificationAlertDialog(Context context) {
new AlertDialog.Builder(context)
.setTitle("开启通知")
.setMessage("请在设置中开启通知以接收重要信息")
.setPositiveButton("去设置", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 这里可以引导用户到设置页面
goToNotificationSettings(context);
}
})
.setNegativeButton("取消", null)
.show();
}
// 引导用户到系统设置以开启通知
public void goToNotificationSettings(Context context) {
Intent intent = new Intent();
intent.setAction(Settings.ACTION_APP_NOTIFICATION_SETTINGS);
intent.putExtra(Settings.EXTRA_APP_PACKAGE, context.getPackageName());
context.startActivity(intent);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment