2016-05-12 46 views
7

我試圖使用shareintent在我的應用程序,但共享一個鏈接到Facebook的時候我遇到了一個問題ShareContent,沒有圖像顯示用的預覽。所以嘗試自定義android共享內容,以便它在使用facebook時選擇facebooksdk中的共享功能,但似乎無法使其工作。下面是我試圖用於定製shareintent代碼,使用Facebook SDK的股價意圖的Android

Intent share = new Intent(android.content.Intent.ACTION_SEND);   
PackageManager pm = getPackageManager(); 
List<ResolveInfo> activityList = pm.queryIntentActivities(share, 0); 
for (final ResolveInfo app : activityList) { 
    if (app.activityInfo.packageName.toLowerCase().startsWith("com.facebook.katana")) { 
     ShareLinkContent content = new ShareLinkContent.Builder() 
          .setContentTitle(property.PropertyName) 
          .setImageUrl(Uri.parse(property.ImagePath)) 
          .setContentUrl(Uri.parse(property.PropertyPermaLink)) 
          .build(); 

     ShareDialog shareDialog = new ShareDialog(this); 

     shareDialog.canShow(content); 

     break; 
    } else { 
     share.setType("text/plain"); 
     share.addFlags(share.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); 
     share.putExtra(Intent.EXTRA_SUBJECT, ""); 
     share.putExtra(Intent.EXTRA_TEXT, property.PropertyPermaLink); 
     startActivity(Intent.createChooser(share, "Share property!")); 
    } 
} 

調試上面的代碼我發現activitylist僅由一個單一的元件的後。那麼我該如何解決這個問題呢?

+0

檢查這個問題,也許它會幫助你http://stackoverflow.com/questions/35155890/android-share-custom-link-via-facebook –

+0

那只是爲Facebook的份額。但我想定製我的共享意圖,從意圖使用所需的Facebook共享。 –

回答

1

您需要添加MIME數據類型發送意圖處理,以獲得相應的活動返回:

share.setType("text/plain"); 
0

剛剛嘗試SharePhotoContent代替ShareLinkContent。 如果你想使用ShareLinkContent,請確保property.ImagePath指出,真正的HTTP圖像鏈接。如果鏈接包含https工作在默認的Android瀏覽器應用程序檢查。