android 跳转到应用通知设置界面的示例
程序员文章站
2023-12-09 12:48:51
4.4以下并没有提过从app跳转到应用通知设置页面的action,可考虑跳转到应用详情页面,下面是直接跳转到应用通知设置的代码:
if (android.os....
4.4以下并没有提过从app跳转到应用通知设置页面的action,可考虑跳转到应用详情页面,下面是直接跳转到应用通知设置的代码:
if (android.os.build.version.sdk_int >= build.version_codes.lollipop) { intent intent = new intent(); intent.setaction("android.settings.app_notification_settings"); intent.putextra("app_package", getactivity().getpackagename()); intent.putextra("app_uid", getactivity().getapplicationinfo().uid); startactivity(intent); } else if (android.os.build.version.sdk_int == build.version_codes.kitkat) { intent intent = new intent(); intent.setaction(settings.action_application_details_settings); intent.addcategory(intent.category_default); intent.setdata(uri.parse("package:" + getactivity().getpackagename())); startactivity(intent); }
跳转到应用详情页面的代码如下:
intent localintent = new intent(); localintent.addflags(intent.flag_activity_new_task); if (build.version.sdk_int >= 9) { localintent.setaction("android.settings.application_details_settings"); localintent.setdata(uri.fromparts("package", getactivity().getpackagename(), null)); } else if (build.version.sdk_int <= 8) { localintent.setaction(intent.action_view); localintent.setclassname("com.android.settings", "com.android.settings.installedappdetails"); localintent.putextra("com.android.settings.applicationpkgname", getactivity().getpackagename()); } startactivity(localintent);
对于检测app是否开启通知,同样是针对4.4以上的系统才有效:
notificationmanagercompat manager = notificationmanagercompat.from(app.getinstance().getcontext()); boolean isopened = manager.arenotificationsenabled();
4.4以下调用该方法并不会出错,只是全部返回true,默认开启状态
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。