2016-05-12 15 views
7

私のアプリでshareintentを使用しようとしていますが、Facebookへのリンクを共有するときに問題が発生しました。 facebookdkから共有機能を使用するようにアンドロイドの共有をカスタマイズしようとしましたが、facebookが選択されても動作しないようです。以下私はactivitylistは、単一の要素から構成されていることが見出さ上記のコードをデバッグした後、私はshareintentをカスタマイズするための試みコード、FacebookのsdkのShareContentを共有インテントで使用する

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

です。どうすればこの問題を解決できますか?

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

この質問を確認してください。おそらくそれはあなたに役立ちますhttp://stackoverflow.com/questions/35155890/android-share-custom-link-via-facebook –

+0

これは、Facebookの共有のみです。しかし、私は目的からFacebookの共有を使いたいという意図をカスタマイズしたいと思っています。 –

答えて

1

あなたが送信目的は、適切な活動が返さ取得するために処理しているMIMEデータタイプを追加する必要があります。 ShareLinkContentを使用する場合は、property.ImagePathが実際のhttp画像リンクを指していることを確認してください。リンクにデフォルトのアンドロイドブラウザアプリで動作しているhttpsチェックが含まれている場合。

関連する問題