Does SAF (Storage Access Framework) support for FireTV

I’m testing Storage Access Framework (SAF) on Fire TV:

  • On Fire OS 7 → SAF works, I can select USB/external storage normally

  • On Fire OS 8 → SAF picker does not show and app has crashed

Is SAF fully supported on Fire OS 8 or any above OS?
Are there any restrictions (scoped storage, permissions, or Fire TV limitations) that prevent accessing external storage via SAF?

Any workaround to allow exporting data to USB/NAS on Fire OS 8 and above if SAF not supported?

Hi @Kiet_Vo_A

SAF is not reliably supported on Fire TV devices running Fire OS 8+. SAF on Fire TV was never officially guaranteed, and Fire OS 8 effectively breaks it. The recommended path is direct file I/O for USB and network protocols for NAS.
On Fire OS 7 it may have worked incidentally, but Fire OS 8 (based on Android 11, API 30) enforces scoped storage and the SAF picker activity is not present - which is why your app will crash with an ActivityNotFoundException.

Workarounds for exporting data to USB/NAS on Fire OS 8+:

  1. Direct file I/O via scoped storage - Use context.getExternalFilesDirs(null) to discover mounted USB storage and write directly to your app’s scoped directory on it (/storage//Android/data/<your.package>/). No special permissions or SAF needed.
  2. Network export for NAS - Use SMB (via jcifs-ng library) or FTP/SFTP to
    write files to a NAS directly. Only requires INTERNET permission.
  3. Guard SAF intents to prevent crashes - If you still want to attempt SAF on devices that might support it, always check intent.resolveActivity(getPackageManager()) != null before launching. Fall back to direct file I/O or network export if it returns null.
  4. Version branching - Use Build.VERSION.SDK_INT >= 30 to branch between SAF
    (Fire OS 7 and below) and direct file I/O / network export (Fire OS 8+).

Warm Regards,
Ivy

Dear @Ivy_Mahajan

Thank you very much for your advice.

I will check and raise more question if any issue happen.