2012-11-14 18 views
5

私はアプリケーション内で単純な文字列を共有する実装を試みています。明らかにFacebook以外のものはすべて動作します。私が知る限り、Facebook SDKを使って壁にステータスを投稿する必要があります。Android Share - Facebook SDK - ShareActionProvider

しかし、SDKを使用してSDKを実装すると、それをセレクタ(デフォルトまたはShareActionProvider)に組み込んで、それをオーバーライドしてFacebook SDKの実装を挿入する方法がありますか?

専用のボタンを作成する必要はありますか?

// EDIT

package com.example.shareactionproviderdemo; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 

public class MainActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     Intent sharingIntent = new Intent(Intent.ACTION_SEND); 
     sharingIntent.setType("text/plain"); 
     sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Test message"); 
     startActivity(Intent.createChooser(sharingIntent, "Share using")); 
    } 

} 

enter image description here

答えて

4

答えはインテントを使って、ユーザー自身の壁に文字列を共有することはできませんです。これを行うにはSDKが必要です。その理由は、FacebookがPlatform Policy IV.2のようにユーザーのステータス更新を事前に埋め込むことを許可していないためです。

ただし、SDKを使用すると、ユーザーにステータスの共有を促すフィードダイアログが表示され、ステータス更新の一部が開発者によって事前に入力されます。しかし、Androidのネイティブチューザーには組み込まれていません。

この問題を追跡した外部のバグレポートはhereです。

+1

これは私にとってはうまくいかない、選択者がポップアップしたときに私はFacebookを選択し、EXTRA_TEXT文字列が受信されなかったかのように空のedittextが表示される。どのようなアイデアを私は間違って何ですか?私はあなたがfacebookでフォークするのを見ます。 //スニペットとスクリーンショットで質問を更新しました – urSus

+0

'EXTRA_TEXT'の代わりに' EXTRA_SUBJECT'を使ってみて、それがうまくいくかどうか報告できますか? –

+0

これはどちらもうまくいかない、それはあなたのために働くのだろうか?過去に私のために働いたことがなかったので、この問題について多くのスレッドが見つかりました(http://stackoverflow.com/questions/3515198/share-text-on-facebook-from-android-app-via-action-send )。 P.S. URLを共有することは、スレッドに投稿されたものとまったく同じです。 – urSus