/**
* 是否打开通知栏开关
* @param context
* @return
*/
public static boolean isNotificationEnabled(Context context) {
try {
//4.3以上版本能获取到通知栏状态
if(Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT){//api19+
return NotificationManagerCompat.from(ftalkApp.appContext()).areNotificationsEnabled();
}else if(Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN)
{
Object localObject = context
.getSystemService(Context.APP_OPS_SERVICE);
Class localClass = localObject.getClass();
Class[] arrayOfClass = new Class[3];
arrayOfClass[0] = Integer.TYPE;
arrayOfClass[1] = Integer.TYPE;
arrayOfClass[2] = String.class;
Method localMethod = localClass.getMethod(CHECK_OP_NO_THROW,arrayOfClass);
Field opPostNotificationValue = localClass.getDeclaredField(OP_POST_NOTIFICATION);
int value = (Integer) opPostNotificationValue.get(Integer.class);
Object[] arrayOfObject = new Object[3];
arrayOfObject[0] = value;
arrayOfObject[1] = Integer.valueOf(Binder.getCallingUid());
arrayOfObject[2] = context.getPackageName();
int j = ((Integer) localMethod.invoke(localObject,
arrayOfObject)).intValue();
return j == 0;
}else {
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
部分高版本Android系统通知栏检测需要适配 OPPO FINDX
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 【蝴蝶效应】 蝴蝶效应:上个世纪70年代,美国一个名叫洛伦兹的气象学家在解释空气系统理论时说,亚马逊雨林一只蝴蝶...
- 摘自郭神的文章: 从Android 8.0系统开始,Google引入了通知渠道这个概念。 什么是通知渠道呢?顾名思...
- 开始的话 Push的到达与否,和系统的通知开关以及精确定位推送数据有很大关系!所以,本周调研了下android厂商...
- 秋天是收获的季节,正值OSF社团一周年庆典,相信每个人都有自己丰硕的成果,也有还在孕育着的希望之苗。 ...