SecurityException:Permission Denial错误

时间:2011-07-29 09:37:02

标签: android android-contentprovider

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

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

  

java.lang.SecurityException:Permission Denial:从ProcessRecord打开提供程序com.google.android.gm.provider.MailProvider {40adef58 3576:com.rageconsulting.android.lightflow / 10056}(pid = 3576,uid = 10056)需要com.google.android.gm.permission.READ_GMAIL或com.google.android.gm.permission.WRITE_GMAIL`

对于我的清单中的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"/>

据我所知,我的权限是正确的。

我的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>

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

1 个答案:

答案 0 :(得分:11)

谷歌因“安全原因”打破了它。请参阅此支持主题:

http://www.google.com/support/forum/p/gmail/thread?fid=1728955d050a12bd0004a9339272acdb&hl=en

你需要回到2.3.5之前的版本,即2.3.4.1