app上架-您的应用在运行时,未同步告知权限申请的使用目的,向用户索取(相机)等权限,不符合华为应用市场审核标准。

这篇具有很好参考价值的文章主要介绍了app上架-您的应用在运行时,未同步告知权限申请的使用目的,向用户索取(相机)等权限,不符合华为应用市场审核标准。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

上架提示

您的应用在运行时,未同步告知权限申请的使用目的,向用户索取(相机)等权限,不符合华为应用市场审核标准。

测试步骤:管理-添加-点击二维码,申请相机权限

修改建议:APP在调用终端敏感权限时,应同步说明权限申请的使用目的,包括但不限于申请权限的名称、服务的具体功能、用途;告知方式不限于弹窗、蒙层、浮窗、或者自定义操作系统权限弹框等。请排查应用内所有权限申请行为,确保均符合要求。

当看到这个提示时我也是一脸懵B啊!!!华为你在搞事情啊!

打工人何必为难打工人!!!

先看华为官网给的示例应该怎么解决!

应用申请的权限,都必须有明确、合理的使用场景和功能说明,禁止诱导或误导用户授权,应用使用的权限必须与申请所述的一致。在申请敏感权限时,需同步告知用户申请该权限的目的。未经用户同意,不得更改用户权限授权状态。

下面时示例:

app在调用终端敏感权限时,应同步说明权限申请的使用目的,包括但不限于申请权限的,app上架,华为,app上架

我的解决方式

我是使用的 Snackbar 这种方式来解决的;

Snackbar 是 Android design support library 中的一个组件,它的作用和Toast类似,显示吐司,但Snackbar的特别之处在于Snackbar显示的提示信息可以和用户交互,更好地获取用户反馈信息。同时,它显示的吐司带有动画效果,从屏幕下方慢慢展开显示。 Goggle官方这样介绍:“SnackBars提供了一个轻量级的反馈操作。他们在屏幕的底部显示一条简短的信息,如果是较大的设备就显示在左下角。SnackBar出现在屏幕中所有其他元素的上方,同一时间仅仅只有一条SnackBar”。总之,SnackBar的特点大致下面几条: ①与Toast一样可以进行吐司信息; ②可以与用户交互操作; ③一个时刻只能有唯一一个 Snackbar 显示。

上代码

 


public class SnackBarUtil {

    /**
     * 自定义 SnackBar 布局
     *
     * @param activity a
     * @param view     a
     * @param msg      a
     * @param tip      as
     */
    public static void show(Activity activity, View view, String msg, String tip) {
        try {


            //获取示例 findViewById(android.R.id.content) //LENGTH_LONG/LENGTH_SHORT: 会自动消失 LENGTH_INDEFINITE: 需要手动点击消失
            Snackbar snackbar = Snackbar.make(view, "", Snackbar.LENGTH_LONG);
            //设置 Snackbar 的深度,避免被其他控件遮挡
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                snackbar.getView().setElevation(0);
            }
            //设置背景透明,避免自带黑色背景影响
            snackbar.getView().setBackgroundColor(Color.TRANSPARENT);
            //设置padding 取消自定义时黑色边框
            snackbar.getView().setPadding(0, 0, 0, 0);
            Snackbar.SnackbarLayout snackbarLayout = (Snackbar.SnackbarLayout) snackbar.getView();
            //设置SnackBar的显示位置
            //ViewGroup.LayoutParams layoutParams = snackbarLayout.getLayoutParams();

            FrameLayout.LayoutParams flp = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT); // 将原来Snackbar的宽高传入新的LayoutParams
            flp.gravity = Gravity.CENTER | Gravity.TOP; // 设置显示位置
            flp.topMargin = StatusBarCompat.getStatusBarHeight(activity);

            ((View) snackbarLayout).setLayoutParams(flp);
            //获取自定义布局
            //LayoutInflater inflater = (LayoutInflater) getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View inflate = LayoutInflater.from(activity).inflate(R.layout.snack_bar_layout, null);
            //获取布局内控件
            TextView textView = inflate.findViewById(R.id.snacl_bar_title);

            //设置文本
            textView.setText(msg);
            TextView textViewSub = inflate.findViewById(R.id.snacl_bar_tip);
            textViewSub.setText(tip);
            //将自定义布局添加到 Snackbar 中
            snackbarLayout.addView(inflate);
            //显示 因为只有华为上架出现这个问题,我做了个判断
            if ("huawei".equals(Build.MANUFACTURER.toLowerCase())) {
                snackbar.show();
            }
        } catch (Exception e) {

        }
    }

}

使用

boolean b = new PermissionsChecker(this).lacksPermissions(Permission.CAMERA);
if (b) {
     SnackBarUtil.show(this, llItem2, "相机权限说明:", "用于扫二维码操作");
}

效果

app在调用终端敏感权限时,应同步说明权限申请的使用目的,包括但不限于申请权限的,app上架,华为,app上架

snack_bar_layout布局文件文章来源地址https://www.toymoban.com/news/detail-760947.html

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="14dp"
        android:layout_marginEnd="14dp"
        android:background="@drawable/bg_white_cor10"
        android:orientation="vertical"
        android:padding="10dp">

        <TextView
            android:id="@+id/snacl_bar_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="标题"
            android:textColor="@color/color33"
            android:textSize="20sp" />

        <TextView
            android:id="@+id/snacl_bar_tip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="6dp"
            android:text="提示"
            android:textColor="@color/color33"
            android:textSize="16sp" />
    </LinearLayout>
</FrameLayout>

到了这里,关于app上架-您的应用在运行时,未同步告知权限申请的使用目的,向用户索取(相机)等权限,不符合华为应用市场审核标准。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 华为手表上架(1)HarmonyOS应用 打包 .app

    在本文中,我们介绍探讨华为手表上架的流程,并重点介绍HarmonyOS应用的打包过程。了解如何将应用程序转化为.app格式,以适配华为手表上的HarmonyOS操作系统。 希望能写一些简单的教程和案例分享给需要的人 鸿蒙可穿戴开发 系统:window 开发工具:DevEco Studio 3.0.0.800 1.点击左

    2024年02月10日
    浏览(49)
  • 如何在上架App之前设置证书并上传应用

    在上架App之前想要进行真机测试的同学,请查看《iOS- 最全的真机测试教程》,里面包含如何让多台电脑同时上架App和真机调试。 P12文件的使用详解 注意: 同样可以在Build Setting 的sign中设置证书,但是有点麻烦,建议就在General中设置证书,比较方便,还可以查看错误的地方

    2024年02月07日
    浏览(51)
  • Android 在程序运行时申请权限——以自动拨打电话为例

    Android 6.0及以上系统在使用危险权限时必须进行运行时权限处理。 main_activity.xml Manifest.xml MainActivity 第一步要先判断用户是不是已经给过我们授权了,借助的是ContextCompat.checkSelfPermission()方法。checkSelfPermission()方法接收两个参数: 第一个参数是Context; 第二个参数是具体的权限

    2024年02月15日
    浏览(30)
  • 个人为什么无法上架安卓 App 到国内应用商店?

    国内市场做安卓还挺多的,应用商店也挺多的。 有些人会问个人为什么无法上架安卓 App 到国内应用商店,这个应该怎么办? 为什么会存在这种情况?因为现在国内的应用是供大于求的,应用商店你上传了app之后,他们是要审核的,因为不审核的话平台它也有很大的风险。

    2024年02月11日
    浏览(52)
  • uni-app 上架应用商店踩坑过程

    Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage 解决办法 :在appstoreconnect中按实际情况填写隐私相关信息 Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing 解决办法 :去掉IDFA,并且IDFA相关的描述也要去掉 使用相机、相册等权限,询问时需描述使用目的 经检测发现,您的应用存

    2023年04月09日
    浏览(74)
  • 如何将你的iOS应用成功上架App Store(图文详解)

    1、苹果开发者账号(如还没账号先申请- 苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestFlight测试然后提交审核的完整流程! 上架App Store审核分7步进行。 1、安装iOS上架辅助软件Appuploader 2、申请iO

    2024年02月16日
    浏览(50)
  • Uniapp申请APP版应用签名、打包、并在微信开放平台申请移动应用的全流程攻略

    Jdk下载链接 证书别名 和 应用名称 可替换成自己的软件名称. 但要记得保存好相关信息 keytool -genkey -alias 证书别名 -keyalg RSA -keysize 2048 -validity 36500 -keystore 应用名称 .keystore 自定义Android包名: 原始默认Android包名为 uni.UNIxxxxxxx 这种类型, 需要去除 uni,推荐改为 com.xxxxx.UNIxxxxx

    2024年02月15日
    浏览(37)
  • 【小伙伴们一起撸了三个月,终于完成第一个AIGC应用,Graphix AI绘画App上架,第二款正在加油中!】

    Graphix AI,集成了以下几大功能,为了更好的展现App的应用场景和功能,我们以图片的方式逐一分解。 只需要输入一段Prompt,如果想要更精致的图片输出,那就再写入Negative Prompt,可以任选您想要的关于主题、图像、动作、身体、衣服、头发、脸、场景、配饰、视觉、光线、

    2024年02月20日
    浏览(40)
  • 微信开放平台申请移动应用时如何获取已经安装的第三方app的应用签名

    一.问题描述 当我们在微信开放平台申请移动应用时,进行到了如下步骤,需要获取应用签名,下面给出解决方案 二.问题解决 先来到微信提供的获取应用签名网页下载获取应用签名的app,网址如下: https://developers.weixin.qq.com/doc/oplatform/Downloads/Android_Resource.html 点击网址进入如

    2024年02月16日
    浏览(50)
  • Android12.0首次开机默认授予app运行时权限(去掉运行时授权弹窗)第二种方法

      在12.0的系统产品开发中,在6.0以后对于权限的申请,都需要动态申请,所以会在系统首次启动后,在app的首次运行时,会弹出授权窗口,会让用户手动授予app运行时权限,在由于系统产品开发需要要求默认授予app运行时权限,不需要用户默认授予运行时弹窗,所以需要在首

    2024年02月09日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包