Autore Topic: Capire cosa è stato cliccato nel "chooser"  (Letto 511 volte)

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 316
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Capire cosa è stato cliccato nel "chooser"
« il: 12 Gennaio 2015, 15:55:52 CET »
0
Salve a tutti!

Io ho creato un chooser (per condividere un'immagine con una scritta) e mi da molte opzioni, come faccio io a riconoscere l'app che ha scelto? Ad esempio se sceglierà facebook dovrò usare delle api particolari per poter postare il tutto correttamente

Grazie mille in anticipo!

Offline MDS Risik

  • Nuovo arrivato
  • *
  • Post: 33
  • Respect: 0
    • Google+
    • Mostra profilo
    • MDS Risik
  • Dispositivo Android:
    Samsung Galaxy Ace 4
  • Play Store ID:
    MDS Game Zone
  • Sistema operativo:
    Windows 7
Re:Capire cosa è stato cliccato nel "chooser"
« Risposta #1 il: 12 Gennaio 2015, 16:02:36 CET »
0
Ciao,

per fare questo dovresti implementare e creare un tuo chooser. Altrimenti c'è un solo modo per condividere un'immagine correttamente con le varie applicazioni, senza sapere quale si è cliccata. Dovresti fare in modo che l'immagine sia accessibile dalle altre applicazioni ma alcune applicazioni vanno in crash anche se l'immagine si trova sulla scheda sd esterna ed è quindi accessibile. Quindi per condividere una o più immagini correttamente devi implementare un ContentProvider e renderlo esportabile.
Poco tempo ho chiesto la stessa domanda su stackoverflow e nessuno mi ha risposto, poi ho trovato da solo la soluzione e l'ho resa pubblica qui: http://stackoverflow.com/a/24924749/3281986

Spero di esserti stato d'aiuto

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 316
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Re:Capire cosa è stato cliccato nel "chooser"
« Risposta #2 il: 12 Gennaio 2015, 16:35:01 CET »
0
Ok grazie anche questa soluzione mi può servire visto che riesco a condividere su alcune piattaforme ma l'app crasha >_<  il problema però rimane facebook che ti fa condividere un'immagine con degli intent normali ma non un testo, tipo fare un post con foto.

Comunque grazie mille ora mi studio questo codice :D

Offline MDS Risik

  • Nuovo arrivato
  • *
  • Post: 33
  • Respect: 0
    • Google+
    • Mostra profilo
    • MDS Risik
  • Dispositivo Android:
    Samsung Galaxy Ace 4
  • Play Store ID:
    MDS Game Zone
  • Sistema operativo:
    Windows 7
Re:Capire cosa è stato cliccato nel "chooser"
« Risposta #3 il: 12 Gennaio 2015, 16:37:33 CET »
0
Con questo metodo basta che imposti altri parametri dell'intent TEXT, SUBJECT ecc.. e puoi creare dei messaggi standard anche per facebook, whats up, o email

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 316
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Re:Capire cosa è stato cliccato nel \"chooser\"
« Risposta #4 il: 12 Gennaio 2015, 16:52:21 CET »
0
uuuuuuu bello bello bello :D grazie mille!
lo provo subito :D

Post unito: 12 Gennaio 2015, 17:07:36 CET
Tanto per essere chiari..... quando io cliccherò il bottone di share (che mi creerà la lista), nel codice nel BtnShare.onClickListener devo dargli "mySharer" ?
« Ultima modifica: 12 Gennaio 2015, 17:07:36 CET da ValerioAdo, Reason: Merged DoublePost »

Offline MDS Risik

  • Nuovo arrivato
  • *
  • Post: 33
  • Respect: 0
    • Google+
    • Mostra profilo
    • MDS Risik
  • Dispositivo Android:
    Samsung Galaxy Ace 4
  • Play Store ID:
    MDS Game Zone
  • Sistema operativo:
    Windows 7
Re:Capire cosa è stato cliccato nel "chooser"
« Risposta #5 il: 13 Gennaio 2015, 13:37:22 CET »
0
Prego figurati

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 316
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Re:Capire cosa è stato cliccato nel "chooser"
« Risposta #6 il: 16 Gennaio 2015, 10:53:28 CET »
0
Alla fine ho deciso di creare 3/4 tasti, uno per ogni piattaforma di share più usata (facebook, twitter ecc.) e ho seguito il tutoria di facebook developer.

Ho solo bisogno di qualche consiglio.
Facebook da questo codice da poter usare :
Codice (Java): [Seleziona]
        if (FacebookDialog.canPresentShareDialog (ivShareImage.getContext(),
                                            FacebookDialog.ShareDialogFeature.PHOTOS)) {
                                          // Publish the post using the Photo Share Dialog
                                          FacebookDialog shareDialog = new FacebookDialog.PhotoShareDialogBuilder(this)
                                            .addPhotos(myUri)
                                            .build();
                                          uiHelper.trackPendingDialogCall(shareDialog.present());
                                        } else {
                                          // The user doesn't have the Facebook for Android app installed.
                                          // You may be able to use a fallback.
                                        }

naturalmente lo ho adattato al mio codice.... come potete capite facilmente "myUri" è una variabile uri dove mi prende la foto

Codice (Java): [Seleziona]
front = ImageSaveAndProcess.createNewFileOrOverwrite(ImageSaveAndProcess.getChacheDir(getActivity(), "/2Cam"),
                                                SettingPreferences.getShareFileName(getActivity()));
                            myUri = Uri.fromFile(front);// Uri.parse(front.getAbsolutePath());

sulla riga ".addPhotos(myUri)" mi da errore "The method addPhotos(Collection<Bitmap>) in the type
 FacebookDialog.PhotoDialogBuilderBase<FacebookDialog.PhotoShareDialogBuilder> is not applicable for the arguments (Uri)"

voi cosa consigliate? io pensavo di fare un cast ma non so come farlo correttamente.... altri consigli?

Grazie mille!