Я только что обновился до новой версии Gmail (v2.3.5), и у меня есть приложение, которое запрашивает контент-провайдера, чтобы получить подробную информацию о контактах, для которых получены сообщения ......
В последней версии я получаю сообщение об ошибке ниже:
java.lang.SecurityException: отказ в разрешении: открытие поставщика com.google.android.gm.provider.MailProvider из ProcessRecord {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>
Может кто-нибудь придумать что-то, что я, возможно, пропустил?