Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SecurityException:权限拒绝错误_Android_Android Contentprovider - Fatal编程技术网

Android SecurityException:权限拒绝错误

Android SecurityException:权限拒绝错误,android,android-contentprovider,Android,Android Contentprovider,我刚刚升级到新版本的gmail(v2.3.5),我有一个应用程序,可以查询内容提供商,以获取有关收到邮件的联系人的详细信息 使用最新版本,我得到以下错误: java.lang.SecurityException:权限拒绝:从ProcessRecord{40adef58 3576:com.rageconsulting.android.lightflow/10056}(pid=3576,uid=10056)打开提供者com.google.android.gm.provider.MailProvide

我刚刚升级到新版本的gmail(v2.3.5),我有一个应用程序,可以查询内容提供商,以获取有关收到邮件的联系人的详细信息

使用最新版本,我得到以下错误:

java.lang.SecurityException:权限拒绝:从ProcessRecord{40adef58 3576:com.rageconsulting.android.lightflow/10056}(pid=3576,uid=10056)打开提供者com.google.android.gm.provider.MailProvider需要com.google.android.Permission.READ_GMAIL或com.google.android.gm.Permission.writeGmail`

对于我清单中的gmail,我声明如下:

<!--permissions for gmail-->
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="com.google.android.providers.gmail.permission.READ_GMAIL"/>
<uses-permission android:name="com.google.android.gm.permission.READ_GMAIL"/>
<uses-permission android:name="com.google.android.gm.permission.WRITE_GMAIL"/>
    <receiver android:name=".receiver.GmailReceiver">
        <intent-filter>
            <action android:name="android.intent.action.PROVIDER_CHANGED" android:priority="-10">
            </action>
            <data android:scheme="content" android:host="gmail-ls" android:pathPattern="/unread/.*">
            </data>
        </intent-filter>


        <intent-filter>
            <action android:name="android.intent.action.PROVIDER_CHANGED" android:priority="-10">
            </action>
            <data android:mimeType="*/*" android:scheme="content" android:host="gmail-ls" android:path="/unread/^i">
            </data>
        </intent-filter>

    </receiver>

就我所知,我的权限是正确的

我的gmail接收器如下所示:

<!--permissions for gmail-->
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="com.google.android.providers.gmail.permission.READ_GMAIL"/>
<uses-permission android:name="com.google.android.gm.permission.READ_GMAIL"/>
<uses-permission android:name="com.google.android.gm.permission.WRITE_GMAIL"/>
    <receiver android:name=".receiver.GmailReceiver">
        <intent-filter>
            <action android:name="android.intent.action.PROVIDER_CHANGED" android:priority="-10">
            </action>
            <data android:scheme="content" android:host="gmail-ls" android:pathPattern="/unread/.*">
            </data>
        </intent-filter>


        <intent-filter>
            <action android:name="android.intent.action.PROVIDER_CHANGED" android:priority="-10">
            </action>
            <data android:mimeType="*/*" android:scheme="content" android:host="gmail-ls" android:path="/unread/^i">
            </data>
        </intent-filter>

    </receiver>


有人能想到我可能错过的东西吗?

谷歌出于“安全原因”打破了它。请参阅此支持线程:


你需要回到2.3.5之前的版本,也就是2.3.4.1

谢谢,我没有发现。