判断通知权限
方式一
在代码中通过NotificationManagerCompat包获取是否打开了通知显示权限:
1 | NotificationManagerCompat manager = NotificationManagerCompat.from(App.getInstance().getContext()); |
NotificationManagerCompat
位于v4包内,所以需要引入v4包。
要注意的是,areNotificationsEnabled方法的有效性官方只最低支持到API 19,低于19的仍可调用此方法不过只会返回true,即默认为用户已经开启了通知。 查了各种资料,目前暂时没有办法获取19以下的系统是否开启了某个App的通知显示权限。
方式二
通过反射获取通知栏是否显示
最低支持到API 19,android8.0上返回的都是true
1 | /** |
打开应用详情界面
1 | // 根据isOpened结果,判断是否需要提醒用户跳转AppInfo页面,去打开App通知权限 |
打开应用通知设置界面
1 | if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { |