2015-08-11 2 views
-2

Je développe une application qui a une option pour partager une image via facebook. J'utilise le code suivant pour poster et j'utilise sdk 3.0. Je ne peux pas changer la version SDK pour certaines raisons. Aidez-moi, s'il vous plaît.Partage sur facebook (Blackberry)

public void postImage() 
    { 

    Bitmap img = BitmapFactory.decodeResource(getResources(), 
        R.drawable.ic_launcher); 

    Request uploadRequest = Request.newUploadPhotoRequest(
        Session.getActiveSession(), img, new Request.Callback() { 

         @Override 
         public void onCompleted(Response response) { 
          Toast.makeText(PhotoGallery.this, 
            "Photo uploaded successfully", 
            Toast.LENGTH_LONG).show(); 
         } 
        }); 
} 

Aussi j'utiliser

<provider 
      android:name="com.facebook.NativeAppCallContentProvider" 
      android:authorities="com.facebook.app.NativeAppCallContentProvider1613067868978775" 
      android:exported="true" /> 

dans le manifeste

Modifier

OK, finalement je suis le problème, dans les applications Android portés, facebook sdk ne supporte pas le partage de photos. Mais, nous pouvons partager des messages simples sur le mur en utilisant fb sdk.

+0

Si vous voulez, il est un moyen de partager une image via facebook sans utiliser leur sdk –

+0

comment il est possible? – userDroid

+0

J'ai ajouté une réponse ci-dessous. S'il vous plaît vérifier et si cela ne fonctionne pas pour vous, je vais simplement le supprimer –

Répondre

1

C'est ce que je faisais:

private void initShareIntent() { 
    boolean found = false; 
    Intent share = new Intent(android.content.Intent.ACTION_SEND); 
    share.setType("image/jpeg"); 

    // 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("face") || 
        info.activityInfo.name.toLowerCase().contains"face")) { 
       share.putExtra(Intent.EXTRA_TEXT, "Elevator Express"); 
       share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(imagePath))); // Optional, just if you wanna share an image. 
       share.setPackage(info.activityInfo.packageName); 
       found = true; 
       break; 
      } 
     } 
     if (!found) { 
       Toast.makeText(getApplicationContext(), "Facebook does not exist", Toast.LENGTH_SHORT).show() 
      return; 
     } 
     startActivity(Intent.createChooser(share, "Select")); 
    } 
} 
+0

Désolé, j'utilise blackberry plugin pour le développement de ces applications. Alors je peux suggérer comment référencer le paquet dans blackberry? – userDroid

+0

Je vais le chercher –

+0

Oui, je ne pouvais rien trouver. Je ne connais que Android android –