我有一个应用程序,我正在使用Google Play服务并使用Google Plus登录API。我的问题是,有时应用程序崩溃并抛出下面提到的异常。我该如何解决这个问题?
由java.lang.SecurityException引起:Permission Denial:读取 com.google.android.gsf.gservices.GservicesProvider uri content://com.google.android.gsf.gservices来自pid = 8304,uid = 10100 需要com.google.android.providers.gsf.permission.READ_GSERVICES, 或grantUriPermission()
答案 0 :(得分:4)
您需要在清单文件中询问权限。
如果你得到:
Caused by java.lang.SecurityException: Permission Denial: reading com.google.android.gsf.gservices.GservicesProvider uri content://com.google.android.gsf.gservices from pid=8304, uid=10100 requires com.google.android.providers.gsf.permission.READ_GSERVICES, or grantUriPermission()
您需要READ_GSERVICES
权限:
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
如果你得到:
Fatal Exception: java.lang.SecurityException: Permission Denial: opening provider com.google.android.gsf.gservices.GservicesProvider from ProcessRecord{283928d 13782:com.***/***} (pid=13782, uid=10222) requires com.google.android.providers.gsf.permission.READ_GSERVICES or com.google.android.providers.gsf.permission.WRITE_GSERVICES
您需要READ_GSERVICES
和WRITE_GSERVICES
权限:
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.WRITE_GSERVICES"/>
注意:这些权限几乎没有记录。我在this answer找到了一些很好的见解。