Android适配

Android获取通知状态栏

2019-05-16  本文已影响0人  dashingqi

背景

核心代码

    // 用来判断通知权限是否开启了
   public static boolean isPermissionOpen(Context context) {
        // 这是8.0 以及以后版本做的处理,来获取是否开启
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            return NotificationManagerCompat.from(context).getImportance() != NotificationManager.IMPORTANCE_NONE;
        }
        // 8.0 一下版本获取开启状态
        return NotificationManagerCompat.from(context).areNotificationsEnabled();
    }
  Intent localIntent = new Intent();
  localIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
      localIntent.setAction(Settings.ACTION_APP_NOTIFICATION_SETTINGS);
      localIntent.putExtra(Settings.EXTRA_APP_PACKAGE, getPackageName());
    } else if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP &&
      android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
      localIntent.setAction("android.settings.APP_NOTIFICATION_SETTINGS");
      localIntent.putExtra("app_package", getPackageName());
      localIntent.putExtra("app_uid", getApplicationInfo().uid);
     } else if (android.os.Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {
         localIntent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
         localIntent.addCategory(Intent.CATEGORY_DEFAULT);
         localIntent.setData(Uri.parse("package:" + getPackageName()));
      } else {
         ///< 4.4以下没有从app跳转到应用通知设置页面的Action,可考虑跳转到应用详情页面,
          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", getPackageName(), null));
           } else if (Build.VERSION.SDK_INT <= 8) {
              localIntent.setAction(Intent.ACTION_VIEW);
              localIntent.setClassName("com.android.settings", "com.android.setting.InstalledAppDetails");
              localIntent.putExtra("com.android.settings.ApplicationPkgName", getPackageName());
            }
       }
 startActivity(localIntent);
上一篇 下一篇

猜你喜欢

热点阅读