/**
* 是否打开通知栏开关
* @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
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 【蝴蝶效应】 蝴蝶效应:上个世纪70年代,美国一个名叫洛伦兹的气象学家在解释空气系统理论时说,亚马逊雨林一只蝴蝶...
- 开始的话 Push的到达与否,和系统的通知开关以及精确定位推送数据有很大关系!所以,本周调研了下android厂商...
- 秋天是收获的季节,正值OSF社团一周年庆典,相信每个人都有自己丰硕的成果,也有还在孕育着的希望之苗。 ...