私のアプリには Gmail アプリ (Android バージョンではありません) が必要です。Froyo または Gingerbread ではバージョン 2.3.6 以降である必要があります。Honeycomb および ICS では 4.0.5 以降。
また、「com.google.android.gm.permission.READ_CONTENT_PROVIDER」権限を使用しています。上記の権限は付与されていないか、古いバージョンの Gmail アプリでは利用できないと思います。
デバイスに最新の Gmail アプリが既にインストールされている場合、私のアプリは正常に動作します。ただし、ユーザーが最初にアプリをインストールしてから Gmail アプリを更新すると、アプリは失敗します。
Logcat は次のとおり
です: 古い Gmail アプリで起動:
08-14 16:13:12.370 E/DatabaseUtils(22386): java.lang.SecurityException: Permission Denial: reading com.google.android.gm.provider.PublicContentProvider uri content://com.google.android.gm/_____@gmail.com/labels from pid=22456, uid=10113 requires com.google.android.gm.permission.READ_CONTENT_PROVIDER
最新の Gmail アプリのインストール後に起動:
08-14 16:14:17.105 W/PackageManager( 1974): Not granting permission com.google.android.gm.permission.READ_CONTENT_PROVIDER to package com.ellevsoft.gmailunread because it was previously installed without
最も簡単な解決策は、アプリをアンインストールして再インストールすることです。
ユーザーにとって使いやすいものにしたい。許可を再要求する方法はありますか? Gmail アプリが更新されている (インストールされている) かどうかを検出し、許可を再度要求するブロードキャストレシーバーはありますか?
ありがとうございました。