Android: ShareActionProvider ohne Historie

8

Laut der Android-Dokumentation, wenn ich nicht möchte, dass mein ShareActionProvider den Verlauf der Freigabe fortsetzt, sollte ich

aufrufen %Vor%

Wenn ich das tue, stolpere ich jedoch bei der Auswahl einer Share-Option:

%Vor%

Hier ist der Code, der den ShareActionProvider einrichtet:

%Vor%

Irgendwelche Ideen, wie ich das beheben kann?

    
steemcb 15.11.2012, 10:30
quelle

5 Antworten

8

Am Ende musste ich meinen eigenen ShareActionProvider schreiben, indem ich den in der Android-Quelle gefundenen kopierte. Ich musste auch die ActivityChooserView und das ActivityChooserModel von der Quelle kopieren. Die tatsächliche Änderung, die zum Ausblenden der Standardaktivität in der Aktionsleiste erforderlich ist, befindet sich in der updateAppearance () -Methode in der ActivityChooserView. So sollte es aussehen:

%Vor%

Ich konnte nicht herausfinden, warum setShareHistoryFileName (null) das Problem verursacht hat, das ich ursprünglich beschrieben habe. Danke für die versuchte Antwort Seven.

    
steemcb 18.12.2012, 18:47
quelle
0

Lesen des Quellcodes auf ActivityChooserModel Ich habe festgestellt, dass die History-Datei mit Context openFileInput geöffnet ist. Solange diese Klasse weiterhin so funktioniert, können Sie Ihren Verlauf "sauber" halten, wenn Sie ihn mit der üblichen Methode für diese Art von Dateien löschen:

%Vor%

Das Symbol "am häufigsten verwendet" wird für eine Weile angezeigt, wenn die ausgewählte Anwendung geöffnet wird. Sobald der Nutzer jedoch wieder in Ihrer App ist, wird er ausgeblendet.

Sie können die Datei bei Bedarf auch in Ihrer onShareTargetSelected-Methode löschen.

    
Marina.Eariel 16.07.2015 22:20
quelle
0

Ich habe alles versucht, ich benutze alte Widget.ShareActionProvider (nicht Kompat 7), so führt Null zum Absturz, deleteFile löscht sicher, aber Geschichte existiert immer noch nach dem Neustart der App ... so habe ich nur eine funktionierende Sache gefunden : zufällig!

%Vor%     
djdance 30.11.2016 19:07
quelle
-1

füge den Code wie folgt hinzu:

%Vor%

Weitere Informationen erhalten Sie hier

    
Seven 26.11.2012 06:48
quelle
-1

Ändern Sie die onCreateActionView von com.actionbarsherlock.widget.ShareActionProvider und rufen Sie dann die Methode von ActivityChooserModel auf: setHistoryMaxSize (0)

    
JaredLuo 18.07.2013 07:11
quelle