【问题标题】:Facebook Android SDK ShareDialog doesn't workFacebook Android SDK ShareDialog 不起作用
【发布时间】:2015-03-29 11:11:14
【问题描述】:

我在使用 Facebook Android SDK 4.0 时遇到了一个奇怪的问题。我添加了所有权限,API_KEY 和 Hashkeys 仔细检查了它们是否正常。但我不能在我的真实设备上使用 ShareDialog,即 API 15 和 GenyMotion 4.4.4、4.4.2。

当我尝试打开 ShareDialog 时,它没有显示我的内容。它在我的真实设备上打开为空。但它在 GenyMotion 4.2.1 上完美运行,我尝试打开 GenyMotion 4.4.4 和 4.4.2 但这些模拟器没有打开 Facebook 应用程序。他们正在将我重定向到网络视图。当我在 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" />

这是我的应用程序类;

@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);}

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

对不起,我的英语不好。

【问题讨论】:

  • 您设备上的 Facebook 应用程序版本是多少?对于 4.4.2 和 4.4.4 的 genymotion 模拟器,你是否安装了 FB 应用,但它没有打开?
  • 我的 Facebook 应用程序是最新的。我在我的 GenyMotion 中从 Google Store 下载,我的 genymotion 模拟器也是最新的。是的,我有关于 genymotions 和真实设备的 FB,但它没有打开 4.4.4 和 4.4.2,它的工作 4.2.1 就像一个魅力。我不明白为什么?
  • 您可以在您的 4.4.4 和 4.4.2 设备上毫无问题地运行 FB 应用程序吗?
  • 当我点击 FB 应用程序本身时,我可以在 genymotion 上运行 FB。但是当我运行 4.4.4 或 4.4.2 时,我无法将我的 faceook 对话框从我的应用程序共享到 FB 应用程序。它指向Web服务。它应该是genymotion问题。但我不明白我的真实设备会打开 facebook,但没有显示我的共享对话框消息,即 4.0.1(API 15),genymotion 4.2.1 从我的应用程序打开 FB 并完美显示我的共享对话框。真的很烦。
  • 你找到解决办法了吗?

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


【解决方案1】:

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

【讨论】:

  • 我做的一切还是一样。
猜你喜欢
  • 1970-01-01
  • 2015-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-04
  • 1970-01-01
相关资源
最近更新 更多