问题描述
上架应用市场,会审核运行时权限,在申请敏感权限时,需在页面上同步告知用户申请该权限的目的。
APP在调用终端任意权限时,均需同步告知用户申请该权限的目的,包括但不限于申请权限的名称、服务的具体功能、用途;告知方式不限于弹窗、蒙层、浮窗、或者自定义操作系统权限弹框等,在服务场景实际发生时同步向用户告知调用权限的目的,让用户更清晰地了解权限用途,充分保障用户知情权,从而便于用户更明确地作出主动性选择,建议您可排查应用内所有权限申请行为,确保均符合要求。
具体参考链接 7.21
https://developer.huawei.com/consumer/cn/doc/app/50129-07
原因分析
IMKit sdk 在申请权限时,暂未提供申请敏感权限目的的 UI 展示。
解决方案
需要您调用 PermissionCheckUtil.setRequestPermissionListListener()
方法,此方法能够拦截 imkit 中的权限请求,在 onRequestPermissionList
回调中您来自定义处理权限请求。
confirmed
代表权限通过,cancelled
代表权限不通过。
代码示例:
PermissionCheckUtil.setRequestPermissionListListener(
new PermissionCheckUtil.IRequestPermissionListListener() {
@Override
public void onRequestPermissionList(
Context activity,
List<String> permissionsNotGranted,
PermissionCheckUtil.IPermissionEventCallback callback) {
AlertDialog dialog =
new AlertDialog.Builder(
activity,
android.R
.style
.Theme_DeviceDefault_Light_Dialog_Alert)
.setMessage("向用户说明申请权限")
.setPositiveButton(
"去申请",
new DialogInterface.OnClickListener() {
@Override
public void onClick(
DialogInterface dialog, int which) {
dialog.dismiss();
callback.confirmed();
}
})
.setNegativeButton(
"取消",
new DialogInterface.OnClickListener() {
@Override
public void onClick(
DialogInterface dialog, int which) {
dialog.dismiss();
callback.cancelled();
}
})
.show();
}
});
海外UIKit 适配申请敏感权限的 UI展示
ConfigCenter.getFeatureConfig().setPermissionInterceptor(new PermissionInterceptor() {
@Override
public void onRequestPermission(@NonNull Context activity, @NonNull List<String> permissionsNotGranted, @NonNull CallBack callback) {
new AlertDialog.Builder(
activity,
android.R
.style
.Theme_DeviceDefault_Light_Dialog_Alert)
.setMessage("向用户说明申请权限")
.setPositiveButton(
"去申请",
new DialogInterface.OnClickListener() {
@Override
public void onClick(
DialogInterface dialog, int which) {
dialog.dismiss();
callback.onConfirm();
}
})
.setNegativeButton(
"取消",
new DialogInterface.OnClickListener() {
@Override
public void onClick(
DialogInterface dialog, int which) {
dialog.dismiss();
callback.onCancel();
}
})
.show();
}
});
链接
追踪记录
- 工单号:185866
- Jira 号:
更多支持
如有疑问,欢迎提交工单。