如何从GServices解决安全异常?

时间:2017-09-06 06:53:25

标签: android

我有一个应用程序,我正在使用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()

1 个答案:

答案 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_GSERVICESWRITE_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找到了一些很好的见解。