我想创建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);