Facebook Android SDK ShareDialog不起作用

时间:2015-03-29 11:11:14

标签: android facebook android-intent android-activity share

我对Facebook Android SDK 4.0有一个奇怪的问题。我添加了所有权限,API_KEY和Hashkeys双重检查它们没问题。但我不能在我的Real Device上使用ShareDialog,这是API 15和GenyMotion 4.4.4,4.4.2。

当我尝试打开ShareDialog时,它显示没有我的内容。它在我的真实设备上打开。但它完全适用于GenyMotion 4.2.1,我试图打开GenyMotion 4.4.4和4.4.2,但这些模拟器不会打开Facebook App。他们将我重定向到Web视图。当我在webview上输入我的信息时,我可以看到我的所有内容,所以它再次起作用。

怎么可能?我的真实设备没有发布任何东西,但GenyMotion 4.2.1确实可以正常工作?有什么问题?

这是我的AndroidManifest.xml;

    <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

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

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

<application
    android:name=".GlobalState"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/Theme.vet" >

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

    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="@string/API_KEY" />

    <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/facebook_app_id"/>

<activity android:name="com.facebook.FacebookActivity"
        android:configChanges=
            "keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        android:theme="@android:style/Theme.Translucent.NoTitleBar"
        android:label="@string/app_name" />

这是我的Application类;

@Override
public void onCreate() {
    super.onCreate();

    // Enable Local Datastore.
    Parse.enableLocalDatastore(this);

    Parse.initialize(this, "KEY", "KEY");

    FacebookSdk.sdkInitialize(getApplicationContext());

}

这是我的MainActivity.class;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    setHasOptionsMenu(true);
    return inflater.inflate(R.layout.fragment_harita, container, false);
}

public void onViewCreated(View view, Bundle savedInstanceState){
    setupMap();
    //showGPSDisableAlert();

    FacebookSdk.sdkInitialize(getActivity().getApplicationContext());
    callbackManager = CallbackManager.Factory.create();
    shareDialog = new ShareDialog(this);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == R.id.action_share) {
if (ShareDialog.canShow(ShareLinkContent.class)) {
                            ShareLinkContent linkContent = new ShareLinkContent.Builder()
                                    .setContentTitle("vet !")
                                    .setContentDescription(
                                            "asd")
                                    .setContentUrl(Uri.parse("https://facebook.com/vet"))
                                    .build();

                            shareDialog.show(linkContent);}

请帮我解决这个问题。谢谢 !

抱歉我的英语不好。

1 个答案:

答案 0 :(得分:1)

尝试在真实设备上更新您的Facebook应用,然后输入Log.i()消息从facebook api获取日志 还要尝试清空应用程序缓存并重新安装。 并行尝试从facebook SDK测试此示例应用程序 https://github.com/facebook/facebook-android-sdk/tree/master/samples/Scrumptious