2016-05-03 4 views
0

Ich habe diesen Code versucht, Ich wählte Facebook-App und ging zur Post-Seite, aber der gewählte Text wird nicht angezeigt.Wie bestimmte Text von App zu Facebook teilen?

public void onShareClick(View v){ 
    List<Intent> targetShareIntents=new ArrayList<Intent>(); 
    Intent shareIntent=new Intent(); 
    shareIntent.setAction(Intent.ACTION_SEND); 
    shareIntent.setType("text/plain"); 
    List<ResolveInfo> resInfos=getPackageManager().queryIntentActivities(shareIntent, 0); 
    if(!resInfos.isEmpty()){ 
     System.out.println("Have package"); 
     for(ResolveInfo resInfo : resInfos){ 
      String packageName=resInfo.activityInfo.packageName; 
      Log.i("Package Name", packageName); 
      if(packageName.contains("com.facebook.katana")){ 
       Intent intent=new Intent(); 
       intent.setComponent(new ComponentName(packageName, resInfo.activityInfo.name)); 
       intent.setAction(Intent.ACTION_SEND); 
       intent.setType("text/plain"); 
       intent.putExtra(Intent.EXTRA_TEXT, "Text"); 
       intent.putExtra(Intent.EXTRA_SUBJECT, "Subject"); 
       intent.setPackage(packageName); 
       targetShareIntents.add(intent); 
      } 
     } 
     if(!targetShareIntents.isEmpty()){ 
      System.out.println("Have Intent"); 
      Intent chooserIntent=Intent.createChooser(targetShareIntents.remove(0), "Choose app to share"); 
      chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetShareIntents.toArray(new Parcelable[]{})); 
      startActivity(chooserIntent); 
     }else{ 
      System.out.println("Do not Have Intent"); 
      showDialaog(this); 
     } 
    } 
} 

Warum nicht den ausgewählten Text teilen auf Facebook anzeigen? Ich lese die Facebook-Richtlinien und sie erlauben dies nicht, aber andere Anwendungen sind dazu in der Lage. Kann ich das irgendwie erreichen?

+1

Mögliche Duplikat [Android Teilen - Facebook SDK - ShareActionProvider] (http://stackoverflow.com/questions/13371663/android-share-facebook-sdk-shareactionprovider) –

Antwort

0

Versuchen Sie folgendes:

public void setupFacebookShareIntent() { 

     ShareDialog shareDialog; 

     FacebookSdk.sdkInitialize(getApplicationContext()); 
     shareDialog = new ShareDialog(this); 

     ShareLinkContent linkContent = new ShareLinkContent.Builder() 
       .setContentTitle("YOUR TITLE") 
       .setContentDescription("YOUR DESCRIPTION") 
       .setContentUrl(Uri.parse("http://xxxx.com/")) 
       .setImageUrl(Uri.parse("http://xxxx.com/")) 
       .build(); 

     shareDialog.show(linkContent); 
    }