Skip to content

feature: Share Intent Extension for Receiving Shared Content on Android & iOS #6671

Description

@fazi-gondal

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature requestSuggestion/Request for additional feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions