scauzhangpeng/Shortcut

vivo 检查权限是否开启时,崩溃

hardlove opened this issue · 9 comments

在VIVO手机调用ShortcutPermission.check(Context contenx)检查桌面快捷权限时,crash

测试机型:
vivo Z3

crash日志如下:
// java.lang.SecurityException: Permission Denial: opening provider com.bbk.launcher2.data.LauncherProvider from ProcessRecord{f8f30af 16137:com.qiutinghe.change/u0a172} (pid=16137, uid=10172)requires com.bbk.launcher2.permission.READ_SETTINGS or com.bbk.l

兄弟你的改了没,我oppor11也是这样,多打开几次就会崩溃,闪退

兄弟你的改了没,我oppor11也是这样,多打开几次就会崩溃,闪退
简单的 try/catch 下
@PermissionResult
public static int check(Context context) {
Logger.get().log(TAG, "manufacturer = " + MARK + ", api level= " + Build.VERSION.SDK_INT);
int result = PERMISSION_UNKNOWN;
try {
if (MARK.contains("huawei")) {
result = checkOnEMUI(context);
} else if (MARK.contains("xiaomi")) {
result = checkOnMIUI(context);
} else if (MARK.contains("oppo")) {
result = checkOnOPPO(context);
} else if (MARK.contains("vivo")) {
result = checkOnVIVO(context);
} else if (MARK.contains("samsung") || MARK.contains("meizu")) {
result = PERMISSION_GRANTED;
}
} catch (Exception e) {
//修复vivo Z3 检测权限时crash问题
// java.lang.SecurityException: Permission Denial: opening provider com.bbk.launcher2.data.LauncherProvider from ProcessRecord{f8f30af 16137:com.qiutinghe.change/u0a172} (pid=16137, uid=10172)
// requires com.bbk.launcher2.permission.READ_SETTINGS or com.bbk.l
e.printStackTrace();
}
return result;
}

好的,多谢,请问你也是做桌面快捷方式功能吗?这个demo生成的快捷方式是不是右下角有个自己的应用图标?你有遇到吗?是否有方案解决呢?如果有方案,请指教一下,感谢(抱拳)!

是的,应用市场上有产品是去了的,不知如何实现,最近公司也在做这个功能,然后角标一直没找到方案去掉

还没有上,最近才开始做,权限检查应该是不全,毕竟安卓机型太多了

com.bbk.launcher2.data.provider.LauncherProvider 将authority换成这个就好了

有没有人有解决方案 这个在vivo部分机型上都存在