以下是我在开发过程中遇到的android版本兼容需要注意的几个地方(会继续补充):
一、 api 19 4.4以下,不能获取通知的开关状态
1. 4.4以上获取状态:
```
NotificationManagerCompat manager = NotificationManagerCompat.from(MyApplication.getInstance().getContext());
boolean isOpened = manager.areNotificationsEnabled();
```
2. 跳转到权限设置:
// 根据isOpened结果,判断是否需要提醒用户跳转AppInfo页面,去打开App通知权限
```
Intent intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", MyApplication.getInstance().getPackageName(), null);
intent.setData(uri);
startActivity(intent);
```
二、 安装权限
1. 22 之前,也就是android5.1之前包括5.1,在清单文件中注册过的权限默认都是开启状态的,但是23之后,默认的就是没有开启,所以,我们只需要吧target
一、 api 19 4.4以下,不能获取通知的开关状态
1. 4.4以上获取状态:
```
NotificationManagerCompat manager = NotificationManagerCompat.from(MyApplication.getInstance().getContext());
boolean isOpened = manager.areNotificationsEnabled();
```
2. 跳转到权限设置:
// 根据isOpened结果,判断是否需要提醒用户跳转AppInfo页面,去打开App通知权限
```
Intent intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", MyApplication.getInstance().getPackageName(), null);
intent.setData(uri);
startActivity(intent);
```
二、 安装权限
1. 22 之前,也就是android5.1之前包括5.1,在清单文件中注册过的权限默认都是开启状态的,但是23之后,默认的就是没有开启,所以,我们只需要吧target