green-android / certification

Android 绿色应用认证计划
85 stars 1 forks source link

[认证申请] 会话微件 #68

Open xieliuhao opened 4 years ago

xieliuhao commented 4 years ago
oasisfeng commented 4 years ago

不符合公约条款 5

xieliuhao commented 4 years ago

不符合公约条款 5

用户需要从图库中选取图片,所以需要外部读写。

oasisfeng commented 4 years ago

用户需要从图库中选取图片,所以需要外部读写。

对于此类需求,请使用 Storage Access Framework API。(在不兼容 SAF 的设备上允许退化为请求存储权限)

xieliuhao commented 4 years ago

xieliuhao commented 4 years ago

用户需要从图库中选取图片,所以需要外部读写。

对于此类需求,请使用 Storage Access Framework API。(在不兼容 SAF 的设备上允许退化为请求存储权限)

烦请告知一下 Android5.1以上的设备都支持吗?特指国内厂商小米、魅族等有没有魔改。

oasisfeng commented 4 years ago

对于此类需求,请使用 Storage Access Framework API。(在不兼容 SAF 的设备上允许退化为请求存储权限)

烦请告知一下 Android5.1以上的设备都支持吗?特指国内厂商小米、魅族等有没有魔改。

抱歉,我无法掌握完整的信息,因此难以代表 OEM 回答这个问题。

具体实现上,可根据你的偏好,选择以下两种方式之一:

  1. 首先尝试调用 SAF API,如果不兼容或操作失败,则退化为请求存储权限。
  2. 首先请求存储权限,如果用户拒绝授予权限,则使用 SAF API。当操作失败时,告知用户设备兼容性问题并恳求用户重新授予权限。
xieliuhao commented 4 years ago

对于此类需求,请使用 Storage Access Framework API。(在不兼容 SAF 的设备上允许退化为请求存储权限)

烦请告知一下 Android5.1以上的设备都支持吗?特指国内厂商小米、魅族等有没有魔改。

抱歉,我无法掌握完整的信息,因此难以代表 OEM 回答这个问题。

具体实现上,可根据你的偏好,选择以下两种方式之一:

  1. 首先尝试调用 SAF API,如果不兼容或操作失败,则退化为请求存储权限。
  2. 首先请求存储权限,如果用户拒绝授予权限,则使用 SAF API。当操作失败时,告知用户设备兼容性问题并恳求用户重新授予权限。

会话微件是一个桌面小部件集合,其中部分控件需要选取一张图片,并提供裁裁剪和压缩功能,压缩是必须的,因为RemoteViews对bitmap的大小有限制,超过则会报错,SAF API提供的接口并不能满足需求, SAF API获取图片的Uri后要转化成bitmap才可以进行裁剪和压缩,这个步骤还是需要读取存储权限。 Uri转Bitmap代码 Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri);
解决方案:不主动显示外部存储读取权限请求提示,当用户需要选取图片时,弹出权限申请请求,用户通过方可选取图片,用户拒绝则停止用户的选取图片的操作。注:读写权限只用于提供用户选取图片、裁剪、压缩、缓存裁剪压缩好的图片操作。若采取这种方式可以通过审核吗?

oasisfeng commented 4 years ago

会话微件是一个桌面小部件集合,其中部分控件需要选取一张图片,并提供裁裁剪和压缩功能,压缩是必须的,因为RemoteViews对bitmap的大小有限制,超过则会报错,SAF API提供的接口并不能满足需求, SAF API获取图片的Uri后要转化成bitmap才可以进行裁剪和压缩,这个步骤还是需要读取存储权限。 Uri转Bitmap代码 Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri); 解决方案:不主动显示外部存储读取权限请求提示,当用户需要选取图片时,弹出权限申请请求,用户通过方可选取图片,用户拒绝则停止用户的选取图片的操作。注:读写权限只用于提供用户选取图片、裁剪、压缩、缓存裁剪压缩好的图片操作。若采取这种方式可以通过审核吗?

不使用 MediaStore API 即可避免存储权限,SAF 的开发者文档建议直接调用 ContentResolver 读取 URI 的文件内容。

xieliuhao commented 4 years ago

会话微件是一个桌面小部件集合,其中部分控件需要选取一张图片,并提供裁裁剪和压缩功能,压缩是必须的,因为RemoteViews对bitmap的大小有限制,超过则会报错,SAF API提供的接口并不能满足需求, SAF API获取图片的Uri后要转化成bitmap才可以进行裁剪和压缩,这个步骤还是需要读取存储权限。 Uri转Bitmap代码 Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri); 解决方案:不主动显示外部存储读取权限请求提示,当用户需要选取图片时,弹出权限申请请求,用户通过方可选取图片,用户拒绝则停止用户的选取图片的操作。注:读写权限只用于提供用户选取图片、裁剪、压缩、缓存裁剪压缩好的图片操作。若采取这种方式可以通过审核吗?

不使用 MediaStore API 即可避免存储权限,SAF 的开发者文档建议直接调用 ContentResolver 读取 URI 的文件内容。

确实可以。感谢🙏

xieliuhao commented 4 years ago

https://www.coolapk.com/apk/com.example.raccoon.dialogwidget 已整改了。

xieliuhao commented 4 years ago

会话微件是一个桌面小部件集合,其中部分控件需要选取一张图片,并提供裁裁剪和压缩功能,压缩是必须的,因为RemoteViews对bitmap的大小有限制,超过则会报错,SAF API提供的接口并不能满足需求, SAF API获取图片的Uri后要转化成bitmap才可以进行裁剪和压缩,这个步骤还是需要读取存储权限。 Uri转Bitmap代码 Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri); 解决方案:不主动显示外部存储读取权限请求提示,当用户需要选取图片时,弹出权限申请请求,用户通过方可选取图片,用户拒绝则停止用户的选取图片的操作。注:读写权限只用于提供用户选取图片、裁剪、压缩、缓存裁剪压缩好的图片操作。若采取这种方式可以通过审核吗?

不使用 MediaStore API 即可避免存储权限,SAF 的开发者文档建议直接调用 ContentResolver 读取 URI 的文件内容。

会话微件是一个桌面小部件集合,其中部分控件需要选取一张图片,并提供裁裁剪和压缩功能,压缩是必须的,因为RemoteViews对bitmap的大小有限制,超过则会报错,SAF API提供的接口并不能满足需求, SAF API获取图片的Uri后要转化成bitmap才可以进行裁剪和压缩,这个步骤还是需要读取存储权限。 Uri转Bitmap代码 Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri); 解决方案:不主动显示外部存储读取权限请求提示,当用户需要选取图片时,弹出权限申请请求,用户通过方可选取图片,用户拒绝则停止用户的选取图片的操作。注:读写权限只用于提供用户选取图片、裁剪、压缩、缓存裁剪压缩好的图片操作。若采取这种方式可以通过审核吗?

不使用 MediaStore API 即可避免存储权限,SAF 的开发者文档建议直接调用 ContentResolver 读取 URI 的文件内容。

https://www.coolapk.com/apk/com.example.raccoon.dialogwidget 已整改了。

xieliuhao commented 4 years ago

会话微件是一个桌面小部件集合,其中部分控件需要选取一张图片,并提供裁裁剪和压缩功能,压缩是必须的,因为RemoteViews对bitmap的大小有限制,超过则会报错,SAF API提供的接口并不能满足需求, SAF API获取图片的Uri后要转化成bitmap才可以进行裁剪和压缩,这个步骤还是需要读取存储权限。 Uri转Bitmap代码 Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri); 解决方案:不主动显示外部存储读取权限请求提示,当用户需要选取图片时,弹出权限申请请求,用户通过方可选取图片,用户拒绝则停止用户的选取图片的操作。注:读写权限只用于提供用户选取图片、裁剪、压缩、缓存裁剪压缩好的图片操作。若采取这种方式可以通过审核吗?

不使用 MediaStore API 即可避免存储权限,SAF 的开发者文档建议直接调用 ContentResolver 读取 URI 的文件内容。

再次调整,已将所有文件路径更改为context.getExternalFilesDir("").getAbsoluteFile() 麻烦审核一下

oasisfeng commented 4 years ago

通过认证的版本:3.9.1_200216(酷安)

xieliuhao commented 4 years ago

通过认证的版本:3.9.1_200216(酷安)

image 已将公约官网添加至APP中。谢谢