我的应用需要 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 应用程序是否正在更新(安装)并再次请求权限?
谢谢你。