Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[@capacitor/share] "Can't share while sharing is in progress" when sharing to the same app on Android

Aperta
#2,424 1 commento 4 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
58/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
android, java
Ambito
mobile

Direzione di ricerca

Inizia dall'implementazione Android di SharePlugin e traccia share(), activityResult(), isPresenting e handleOnNewIntent(), prestando attenzione a come MainActivity viene riutilizzata per ACTION_SEND. Riproduci il problema con l'app di esempio collegata, quindi verifica che una condivisione in entrata reimposti lo stato in corso e che le condivisioni successive vadano a buon fine.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

platform: android

Bug Report

Plugin(s)

@capacitor/share

Capacitor Version
💊   Capacitor Doctor  💊 

Latest Dependencies:

  @capacitor/cli: 7.4.3
  @capacitor/core: 7.4.3
  @capacitor/android: 7.4.3
  @capacitor/ios: 7.4.3

Installed Dependencies:

  @capacitor/ios: not installed
  @capacitor/cli: 7.4.3
  @capacitor/core: 7.4.3
  @capacitor/android: 7.4.3

[success] Android looking great! 👌
Platform(s)

Android

Current Behavior

In my app I have both outgoing + incoming share functionality. When I try to share anything to the same app, the plugin's Android implementation becomes stuck in some "in-progress" state, and subsequent share calls immediately fail with error:

Can't share while sharing is in progress
Expected Behavior

All subsequent shares from the app into same app work OK.

Code Reproduction

I've prepared reproduction repo - please check out https://github.com/dmitry-salnikov/capacitor-share-plugin-bug-reproduction

Other Technical Details

Android only, everything works OK on iOS.

Additional Context

The problem
  • Android tries to launch MainActivity with the ACTION_SEND intent.
  • Because launchMode="singleTask", Android doesn't create a new activity instance. Instead, it reuses the existing task and brings it to the front.
  • Since the activity never finishes (it's the same instance), activityResult() is never called.
  • This way, isPresenting flag isn't reset, and all subsequent calls to share() would throw error Can't share while sharing is in progress.
The solution

Handle incoming share intent in SharePlugin's code to reset isPresenting flag and resolve plugin call, e.g.:

@Override
protected void handleOnNewIntent(Intent intent) {
    if (isPresenting && intent != null && Intent.ACTION_SEND.equals(intent.getAction())) {
        PluginCall call = bridge.getSavedCall("activityResult");
        if (call != null) {
            call.resolve(new JSObject().put("activityType", ""));
        }
        isPresenting = false;
    }
}
Lingua principale
Java
Stelle
685
Fork
691
Merge medio
16h 33m
PR unite (30g)
1

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ionic-team/capacitor-plugins

Tutte le issue di ionic-team/capacitor-plugins

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.