gpt4 book ai didi

Android:重新请求权限

转载 作者:太空狗 更新时间:2023-10-29 13:28:51 26 4
gpt4 key购买 nike

我的应用程序要求 Gmail 应用程序(非 Android 版本)需要在 Froyo 或 Gingerbread 上为 2.3.6 或更高版本; Honeycomb 和 ICS 4.0.5 或更高版本。

此外,我使用“com.google.android.gm.permission.READ_CONTENT_PROVIDER”权限。我认为上述权限未授予或不适用于旧版 Gmail 应用程序。

如果设备已经安装了最新的 Gmail 应用程序,我的应用程序运行良好。但是,如果用户先安装我的应用程序然后更新 Gmail 应用程序,我的应用程序将会失败。

这是 Logcat:
与旧版 Gmail 应用一起启动:

08-14 16:13:12.370 E/DatabaseUtils(22386): java.lang.SecurityException: Permission Denial: reading com.google.android.gm.provider.PublicContentProvider uri content://com.google.android.gm/_____@gmail.com/labels from pid=22456, uid=10113 requires com.google.android.gm.permission.READ_CONTENT_PROVIDER

在安装最新的 gmail 应用程序后启动:

08-14 16:14:17.105 W/PackageManager( 1974): Not granting permission com.google.android.gm.permission.READ_CONTENT_PROVIDER to package com.ellevsoft.gmailunread because it was previously installed without


我知道最简单的解决方案是卸载我的应用程序并重新安装。
我想让用户轻松使用。有没有办法重新请求权限?是否有广播接收器来检测 Gmail 应用程序是否正在更新(安装)并再次请求权限?

谢谢。

最佳答案

不,你不能那样做。 Android (PacakgeManagerService) 只会授予您它知道的权限。它只知道已安装应用程序的权限。其他一切都被忽略。您能做的最好的事情就是检查已安装的 Gmail 版本并指导人们更新它,然后重新安装您的应用程序。顺便说一句,这个权限是公开的吗?我认为 Gmail 不再允许第三方应用程序读取其数据,他们很久以前就改变了这一点。

关于Android:重新请求权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18339339/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com