2016-05-03 11 views
0

私はこのコードを試しました Facebookアプリを選択して投稿ページに行きましたが、選択したテキストは表示されません。特定のテキストをアプリからFacebookに共有するにはどうすればいいですか?

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); 
     } 
    } 
} 

なぜディスプレイブックでディスプレイを共有するために選択したテキストがありませんか?私はFacebookのポリシーを読んでいますが、これは許可していませんが、他のアプリケーションもそうすることができます。私はそれを達成するための何らかの方法がありますか?

+1

の可能性のある重複した[Androidのシェア - FacebookのSDK - ShareActionProvider](http://stackoverflow.com/questions/13371663/android-share-facebook-sdk-shareactionprovider) –

答えて

0

これを試してみてください:

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); 
    } 
関連する問題