Duplicate Check
Describe the requested feature
Hi @FeodorFitsner Flet currently has excellent support for building cross-platform applications with Python, but there is no built-in way for an application to receive content shared from other apps using the native Android Share Sheet or the iOS Share Extension.
This makes it difficult to build apps that integrate naturally with the operating system.
Currently, developers must implement platform-specific Android and iOS code themselves, which goes against Flet's goal of providing a Python-first development experience.
Suggest a solution
I would like to see an official (or officially supported) Share Intent extension (Which we can build on top of share_handler 0.0.25) for Flet that allows applications to receive shared content from other apps.
Instead of each developer implementing native platform code, Flet could expose a simple Python API while internally leveraging Flutter's existing ecosystem.
The extension could be implemented as a standalone package (for example, flet-share-intent) so it can evolve independently while being reusable across all Flet applications.
Suggested API
import flet as ft
import flet_share_intent as share
def on_share(event):
print(event.type)
print(event.text)
print(event.urls)
print(event.files)
def main(page: ft.Page):
receiver = share.ShareIntent()
receiver.on_receive = on_share
page.overlay.append(receiver)
ft.app(main)
Or:
intent = await share.get_initial_share()
Proposed Features
Incoming content
- URLs
- Plain text
- Images
- Videos
- Audio
- PDFs
- Documents
- Multiple files
- MIME type detection
Lifecycle
- Cold start support
- Warm start support
- Background launch support
- Event/listener API
- Initial share retrieval
Android
- ACTION_SEND
- ACTION_SEND_MULTIPLE
- Content URIs
- Scoped Storage
- Android 8+
iOS
- Share Extensions
- Files app
- Photos
- Safari
- Messages
Motivation
Many modern mobile applications rely on the operating system's Share Sheet.
Examples include:
- Social media downloaders
- Password managers
- AI assistants
- Bookmark managers
- Note-taking apps
- Translation apps
- OCR apps
- File managers
- PDF readers
- Media editors
- Cloud storage apps
Without Share Intent support, these applications require extra manual steps or custom native code.
Screenshots
No response
Additional details
A practical example is my open-source project, Vidsaver:
https://github.com/fazi-gondal/Vidsaver
Currently, users must copy a social media link, open the app, paste it, and then start the download process.
With Share Intent support, the workflow becomes:
- Tap Share in Instagram, TikTok, Facebook, X, YouTube, etc.
- Select Vidsaver.
- The app automatically receives the shared URL and begins processing.
Beyond downloaders, this feature would benefit many other Flet applications, including AI assistants, note-taking apps, bookmark managers, password managers, OCR tools, translation apps, file managers, cloud storage clients, and media editors.
This would be a valuable addition to the Flet ecosystem because it enables a native mobile experience while keeping the developer workflow entirely Python-based.
Duplicate Check
Describe the requested feature
Hi @FeodorFitsner Flet currently has excellent support for building cross-platform applications with Python, but there is no built-in way for an application to receive content shared from other apps using the native Android Share Sheet or the iOS Share Extension.
This makes it difficult to build apps that integrate naturally with the operating system.
Currently, developers must implement platform-specific Android and iOS code themselves, which goes against Flet's goal of providing a Python-first development experience.
Suggest a solution
I would like to see an official (or officially supported) Share Intent extension (Which we can build on top of share_handler 0.0.25) for Flet that allows applications to receive shared content from other apps.
Instead of each developer implementing native platform code, Flet could expose a simple Python API while internally leveraging Flutter's existing ecosystem.
The extension could be implemented as a standalone package (for example,
flet-share-intent) so it can evolve independently while being reusable across all Flet applications.Suggested API
Or:
Proposed Features
Incoming content
Lifecycle
Android
iOS
Motivation
Many modern mobile applications rely on the operating system's Share Sheet.
Examples include:
Without Share Intent support, these applications require extra manual steps or custom native code.
Screenshots
No response
Additional details
A practical example is my open-source project, Vidsaver:
https://github.com/fazi-gondal/Vidsaver
Currently, users must copy a social media link, open the app, paste it, and then start the download process.
With Share Intent support, the workflow becomes:
Beyond downloaders, this feature would benefit many other Flet applications, including AI assistants, note-taking apps, bookmark managers, password managers, OCR tools, translation apps, file managers, cloud storage clients, and media editors.
This would be a valuable addition to the Flet ecosystem because it enables a native mobile experience while keeping the developer workflow entirely Python-based.