Autore Topic: Condividere link su Facebook tramite l'app ufficiale Facebook  (Letto 1189 volte)

Offline francescog

  • Nuovo arrivato
  • *
  • Post: 27
  • Scaricate TabooDroid. La mia prima app!
  • Respect: 0
    • Mostra profilo
Condividere link su Facebook tramite l'app ufficiale Facebook
« il: 24 Febbraio 2013, 10:31:27 CET »
0
Salve, sono ormai giorni che cerco e provo, ma ancora non sono riuscito a far partire l'app di facebook senza utilizzare il classico share e poi cliccare su facebook. In pratica vorrei che si aprisse direttamente l'app. Qualche idea? Grazie
Non dimenticate di scaricare la mia app TabooDroid. E soprattutto le cinque stelle! ;)

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Condividere link su Facebook tramite l'app ufficiale Facebook
« Risposta #1 il: 24 Febbraio 2013, 10:37:36 CET »
0
Hai provato questo?

Codice (Java): [Seleziona]
public void shareFacebook() {
        String fullUrl = "https://m.facebook.com/sharer.php?u=..";
        try {
            Intent sharingIntent = new Intent(Intent.ACTION_SEND);
            sharingIntent.setClassName("com.facebook.katana",
                    "com.facebook.katana.ShareLinkActivity");
            sharingIntent.putExtra(Intent.EXTRA_TEXT, "your title text");
            startActivity(sharingIntent);

        } catch (Exception e) {
            Intent i = new Intent(Intent.ACTION_VIEW);
            i.setData(Uri.parse(fullUrl));
            startActivity(i);

        }
    }

Da http://stackoverflow.com/questions/8308666/how-to-force-share-intent-to-open-a-specific-app

Offline francescog

  • Nuovo arrivato
  • *
  • Post: 27
  • Scaricate TabooDroid. La mia prima app!
  • Respect: 0
    • Mostra profilo
Re:Condividere link su Facebook tramite l\'app ufficiale Facebook
« Risposta #2 il: 24 Febbraio 2013, 10:46:15 CET »
0
Grazie ma non va.. In pratica esegue il codice all'interno del catch poichè c'è qualche errore.

Post unito: 24 Febbraio 2013, 10:50:09 CET
Spulciando nella cartella com.facebbok.katana manca Sharelinkactivity
« Ultima modifica: 24 Febbraio 2013, 10:50:09 CET da francescog, Reason: Merged DoublePost »
Non dimenticate di scaricare la mia app TabooDroid. E soprattutto le cinque stelle! ;)

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Condividere link su Facebook tramite l'app ufficiale Facebook
« Risposta #3 il: 24 Febbraio 2013, 10:50:18 CET »
0
Nel blocco catch potresti magari aggiungere come prima istruzione Log.e("errore", e.getMessage()); così nel Logcat puoi leggere il messaggio dell'eccezione.

Offline francescog

  • Nuovo arrivato
  • *
  • Post: 27
  • Scaricate TabooDroid. La mia prima app!
  • Respect: 0
    • Mostra profilo
Re:Condividere link su Facebook tramite l\\\'app ufficiale Facebook
« Risposta #4 il: 24 Febbraio 2013, 10:52:29 CET »
0
Come supponevo l'errore è riferito al fatto che non trova l'activity...

Post unito: 24 Febbraio 2013, 11:04:44 CET
Allora... ho trovato questo sistema:

Codice (Java): [Seleziona]
private void initShareIntent(String type) {
            boolean found = false;
            Intent share = new Intent(android.content.Intent.ACTION_SEND);
            share.setType("text/plain");

            // gets the list of intents that can be loaded.
            List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(share, 0);
            if (!resInfo.isEmpty()){
                for (ResolveInfo info : resInfo) {
                    if (info.activityInfo.packageName.toLowerCase().contains(type) ||
                            info.activityInfo.name.toLowerCase().contains(type) ) {
                        share.putExtra(Intent.EXTRA_SUBJECT,  "subject");
                        share.putExtra(Intent.EXTRA_TEXT,     "your text");
                        share.setPackage(info.activityInfo.packageName);
                        found = true;
                        break;
                    }
                }
                if (!found)
                    return;

                startActivity(Intent.createChooser(share, "Select"));
            }
        }

e si richiama così:
Codice (Java): [Seleziona]
        initShareIntent("face");
Il problema è che caricando l'app di Facebook appare la classica interfaccia "Scrivi Post" e poi scrivere a cosa stai pensando. In teoria non dovrebbe apparirmi YOUR_TEXT?

Post unito: 24 Febbraio 2013, 11:13:31 CET
Probabilmete è un bug di Facebook >:(  >:( Mi sa che devo utilizzare l'sdk.
« Ultima modifica: 24 Febbraio 2013, 11:13:31 CET da francescog, Reason: Merged DoublePost »
Non dimenticate di scaricare la mia app TabooDroid. E soprattutto le cinque stelle! ;)