AccessDeniedException when saving WhatsApp "Export chat" to Material Files
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 55/100
Research direction
Start by tracing how Material Files handles incoming share intents and saves content:// URIs, then compare that path with the Downloads destination. The report does not name source files or tests, so locate the intent and URI handling entry points first. Reproduce by exporting a WhatsApp chat to Material Files and confirm the file saves without an access error; the error message should also remain readable long enough to inspect.
Written by the indexing model from the issue text.
Description
Summary
Exporting a WhatsApp chat (with or without media) and choosing Material Files in the share sheet fails with a java.nio...AccessDeniedException. Saving to Downloads gives the same error. Fossify File Manager handles the same export without issue.
Steps to Reproduce
- WhatsApp -> open a chat -> three-dot menu -> More -> Export chat
- Choose Material Files in the share sheet
- Try saving to Downloads (fails the same way)
Expected Behavior
The exported chat file is saved.
Actual Behavior
Access denied error (AccessDeniedException, java.nio...). The error toast/dialog also disappears too fast to read in full - that's a secondary UX issue on top of the underlying failure.
Suspected Cause (unverified)
WhatsApp shares a temporary content:// URI. Material Files may be treating it as a filesystem path instead of reading it via ContentResolver.
Environment
- Material Files version: 1.7.4
- Device: Fairphone 4
- OS: CalyxOS 6.10.20 (Android 15) - note: not stock Android, in case this matters for storage/permission handling
- WhatsApp: regular (not Business)
- Fossify File Manager handles the same export without problems (confirms it's not a permissions issue on the device)
- Dominant language
- Kotlin
- Stars
- 9.2k
- Forks
- 761
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from zhanghai/MaterialFiles
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
zhanghai/MaterialFiles#1659 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
zhanghai/MaterialFiles#1638 · 1 reaction ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
zhanghai/MaterialFiles#1580 ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
zhanghai/MaterialFiles#1660 ·
-
图片查看器的图片顺序似乎和文件列表不一致Open
Difficulty 3/5 1-2 days Newbie friendliness 47/100
zhanghai/MaterialFiles#1657 ·
All issues in zhanghai/MaterialFiles
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
navikt/mock-oauth2-server#1129 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
-
unconfirmed
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
thunderbird/thunderbird-android#11778 · 2 comments ·
Maintainers usually reply within 1 day
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 88/100
software-mansion/enriched-markdown#1042 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
world-federation-of-advertisers/cross-media-measurement#4709 ·
Maintainers usually reply within 1 day