发送通知栏上的通知或许是比较小众的需求,然而我们测试发现,关闭通知权限可能会导致tw无法显示!
目前我们测试的结果,非miui几乎所有手机关闭通知权限后都无法显示tw(已知华为,三星,摩托罗拉,酷派,oppo,vivo等都有此问题,个人推测这是一个原生安卓就有的bug),让你的应用成为哑巴应用
以下是判断通知权限/引导开启权限的代码:
java(nmc,null,"android.support.v4.app.NotificationManagerCompat.from","Context",activity)
java(enabled,nmc,"android.support.v4.app.NotificationManagerCompat.areNotificationsEnabled")
f(enabled) {
tw("可以发送通知")
} else {
utw(null,"权限被拒绝","通知权限已被关闭,请手动开启
否则可能导致应用功能异常","开启","退出",true,v) {
java(packageName,activity,"android.content.Context.getPackageName")
ss("package:" + packageName,uri)
sit(intent,"action","android.settings.APPLICATION_DETAILS_SETTINGS")
sit(intent,"data",uri)
sit(intent,"flags",268435456)
uit(intent,"result",0)
} else {
end()
}
}
//ps:安卓4.4以下的手机,即使通知权限被关闭依然返回有权限
//某些手机厂商可能会随意更改api导致方法失效,这种我只能骂人
.作者:残页