简体   繁体   English

使用Facebook SDK Android共享图片时无显示

[英]Nothing to show when sharing a picture using facebook sdk android

I'm trying to learn how to share a simple image using android and facebook SDK following this tutorial . 在本教程之后,我正在尝试学习如何使用android和facebook SDK共享简单图像。

I already configured the app in the facebook developers page, that includes the App ID, the development key hash and the release key hash. 我已经在facebook开发人员页面中配置了该应用程序,其中包括应用程序ID,开发密钥哈希和发布密钥哈希。

The problem is, when I login it appears this screen: 问题是,当我登录时出现以下屏幕: 在此处输入图片说明 and then when I click OK nothing happens ... 然后,当我单击“确定”时,没有任何反应...

Here's my MainActivity: 这是我的MainActivity:

public class MainActivity extends ActionBarActivity {

private CallbackManager callbackManager;
private LoginManager loginManager;

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

    // Get the release key hash in Debug.Log
    generateHash();

    // Initialize the facebook SDK
    FacebookSdk.sdkInitialize(getApplicationContext());

    callbackManager = CallbackManager.Factory.create();

    // If we want to publish something on facebook we need publish permission
    List<String> permissionNeeds = Arrays.asList("publish_actions");

    loginManager = LoginManager.getInstance();

    loginManager.logInWithPublishPermissions(this, permissionNeeds);

    loginManager.registerCallback(callbackManager, new FacebookCallback<LoginResult>()
    {
        @Override
        public void onSuccess(LoginResult loginResult)
        {
            sharePhotoToFacebook();
        }

        @Override
        public void onCancel()
        {
            System.out.println("onCancel");
        }

        @Override
        public void onError(FacebookException exception)
        {
            System.out.println("onError");
        }
    });
}

private void sharePhotoToFacebook(){
    Bitmap image = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
    SharePhoto photo = new SharePhoto.Builder()
            .setBitmap(image)
            .setCaption("Give me my codez or I will ... you know, do that thing you don't like!")
            .build();

    SharePhotoContent content = new SharePhotoContent.Builder()
            .addPhoto(photo)
            .build();

    ShareApi.share(content, null);
}

And heres my AndroidManifest.xml: 这是我的AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>

<uses-permission android:name="android.permission.INTERNET" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name="com.facebook.FacebookActivity"
        android:theme="@android:style/Theme.Translucent.NoTitleBar"
        android:label="@string/app_name"/>
    <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/app_id"/>

    <provider
        android:authorities="com.facebook.app.FacebookContentProvider1018821948180724"
        android:name="com.facebook.FacebookContentProvider"
        android:exported="true">
    </provider>

</application>

Any tips on what am I doing wrong? 关于我在做什么错的任何提示?

Thanks in advance. 提前致谢。

Have you added Facebook ContentProvider to your manifest? 您是否已将Facebook ContentProvider添加到清单中?

<provider android:authorities="com.facebook.app.FacebookContentProvider{APP_ID}"
          android:name="com.facebook.FacebookContentProvider"
          android:exported="true"/>

And remember these things : 并记住这些事情:
1. The photos must be less than 12MB in size 1.照片必须小于12MB
2. You need to ask publish_actions permission when logging in 2.登录时需要询问publish_actions权限

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM