我想創建Android應用程序FB分享按鈕。我最小的SDK是16Android的Facebook的SDK - 無法設置onclicklistener爲Facebook sharebutton
我gradle這個文件我有以下依賴性:
compile 'com.facebook.android:facebook-android-sdk:4.7.0'
的問題是,當我在Facebook上分享按鈕其未響應設置onClicklistener(我甚至使用斷點確保)。它從來沒有擊中回調,並且按鈕變灰。下面是我在Facebook上設置這個程序:
請注意,我在這裏使用調試密鑰散列。所以我所做的一切都不在發行版中,而是在調試簽名中。
在Android清單我有以下的應用程序標籤中定義:
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="123456789"/>
<provider android:authorities="com.facebook.app.FacebookContentProvider123456789"
android:name="com.facebook.FacebookContentProvider"
android:exported="true" />
要初始化的Facebook SDK我有我自己的應用程序(記錄於艙單應用標籤)的子類,工作正常&我休息分獲得它:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
FacebookSdk.sdkInitialize(this);
}
}
應用構建和運行正常除facebo確定按鈕。在佈局文件,我宣佈這樣一個Facebook的分享按鈕:
<com.facebook.share.widget.ShareButton
android:id="@+id/fb_share_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:contentDescription="@string/share_fb"
/>
然後在我的活動類IM通過以下獲得這一觀點在的onCreate參考:
mShareButton = (ShareButton)findViewById(R.id.fb_share_button);
mShareButton.setOnClickListener(this);
和我的活動實現onClickListener並在所有的多數民衆贊成是永遠也不會被印刷和突破點,不打有一個日誌語句。我還需要在這裏做什麼。我正在掀起了棒棒糖設備,我登錄到我的手機上的Facebook應用程序。我不知道這是否是必要的,但我也創造了callbackManager像這樣我的活動onCreate方法:
mCallbackManager = CallbackManager.Factory.create();
和調試散列是用下面的命令創建成功:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
我的最終目標是,當用戶點擊Facebook分享按鈕,我會運行下面的代碼共享的東西給Facebook:
if (ShareDialog.canShow(ShareLinkContent.class)) {
ShareLinkContent linkContent = new ShareLinkContent.Builder()
.setContentTitle("Hello Facebook")
.setContentDescription(
"The 'Hello Facebook' sample showcases simple Facebook integration")
.setContentUrl(Uri.parse("http://developers.facebook.com/android"))
.build();
mShareDialog.show(linkContent);