Closed6

Fireタブレットで端末内のカレンダーを読み込めない問題について

enoiuenoiu

Flutterで、device_calendarを使って端末内のカレンダーを読み込む処理をしている。
https://pub.dev/packages/device_calendar
AndroidやiOSでは正常に読み込めたが、Fireタブレットでは読み込むことができないようで、カレンダーリストは空で返されていた。

var calendarsResult = await _deviceCalendarPlugin.retrieveCalendars();
    if (calendarsResult.isSuccess && calendarsResult.data != null) {
      calendars = calendarsResult.data!;
    }
print(calendars); // Fireタブレットでは[]になる

Fire OSはv8.3.3.4
device_calendar 4.3.3

enoiuenoiu

Fireタブレットのカレンダーは「Amazonクラウドのカレンダー」という名前で取得できるはず。
また、標準のカレンダーアプリからGoogleカレンダーなどを登録できるので、登録していればそれも取得できるはず。
他のサードパーティー製のカレンダーアプリで取得できているものがあったので、Google Play Servicesがないから取得できないみたいなことではないはず。

enoiuenoiu

eventideというパッケージを使ってみたが同様に取得できなかったので、device_calendarに戻す(device_calendarの方が権限が拒否されているときの処理ができるため)
https://pub.dev/packages/eventide

enoiuenoiu

logcatで確認してみると、以下のログを確認。

2025-05-02 09:36:46.252   909-6133  AppsFilter              system_server                        I  interaction: PackageSetting{7fc3acc com.enoiu.roomscreen/10218} -> PackageSetting{2ebca39 com.android.providers.calendar/10145} BLOCKED
2025-05-02 09:36:46.252  7909-7909  ActivityThread          com.enoiu.roomscreen                 E  Failed to find provider info for com.android.calendar

なんかAppsFilterとやらでブロックされてるらしい

enoiuenoiu

この記事を参考に、AndroidManifest.xmlの<queries>に追記

<package android:name="com.android.providers.calendar" />

すると、Fireタブレットで端末のカレンダーを読み込めるようになった

このスクラップは4ヶ月前にクローズされました