android - 使用 FacebookDialog 在 Facebook 上发布照片

标签 android facebook facebook-graph-api

我在 getApplicationContext() 中收到空指针异常。这是我的代码。

 if (FacebookDialog.canPresentShareDialog
        (getApplicationContext(),
                FacebookDialog.ShareDialogFeature.PHOTOS)) {
    // Publish the post using the Photo Share Dialog
    RelativeLayout views = (RelativeLayout) findViewById(R.id.viewlayout);
    views.setDrawingCacheEnabled(true);
    views.buildDrawingCache();
    Bitmap img = views.getDrawingCache();
    ArrayList<Bitmap> list = new ArrayList<Bitmap>();
    list.add(img);
    FacebookDialog shareDialog = new FacebookDialog.PhotoShareDialogBuilder(this)
            .addPhotos(list)
            .build();
    uiHelper.trackPendingDialogCall(shareDialog.present());
} else {
    Toast.makeText(getApplicationContext(), "no", Toast.LENGTH_LONG).show();
}

我检查了是否安装了 facebook。它回归真实。所以很明显 FacebookDialog.canPresentShareDialog 不是问题所在。已经尝试过这个,上下文和一切。

这是我的日志:

 java.lang.NullPointerException
                at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:883)
                at com.facebook.internal.Utility.getDialogFeatureConfig(Utility.java:717)
                at com.facebook.widget.FacebookDialog.getVersionSpecForFeature(FacebookDialog.java:498)
                at com.facebook.widget.FacebookDialog.getVersionSpecForFeatures(FacebookDialog.java:489)
                at com.facebook.widget.FacebookDialog.handleCanPresent(FacebookDialog.java:465)
                at com.facebook.widget.FacebookDialog.canPresentShareDialog(FacebookDialog.java:411)
                at com.racebuddy2.Results.postOnFacebook(Results.java:196)
                at com.racebuddy2.Results.access$000(Results.java:34)
                at com.racebuddy2.Results$2.onClick(Results.java:82)
                at android.view.View.performClick(View.java:4456)
                at android.view.View$PerformClick.run(View.java:18465)
                at android.os.Handler.handleCallback(Handler.java:733)
                at android.os.Handler.dispatchMessage(Handler.java:95)
                at android.os.Looper.loop(Looper.java:136)
                at android.app.ActivityThread.main(ActivityThread.java:5086)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:515)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
                at dalvik.system.NativeStart.main(Native Method)

M 使用 facebook sdk 3.22.0 作为 gradle 给出了那个。我应该怎么做?错误在哪里。 :(

最佳答案

我让它在我这边工作。似乎 https://stackoverflow.com/a/19169776/642185就是答案。

我能够登录,因为我在代码中将 facebook 应用程序 ID 作为字符串,但我需要它在元数据中才能使这部分工作。

关于android - 使用 FacebookDialog 在 Facebook 上发布照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27982141/

相关文章:

Android View 抖动

Android 透明 WebView 在 VideoView 之上

facebook - HWIOAuthBundle - Symfony2 - 从 Facebook 获取用户数据

日期范围内的 Facebook 广告洞察 GRAPH API 边缘

android - 不使用 SQLite 的内容提供程序示例

android - Android市场过滤XLarge屏幕

javascript - JavaScript 函数运行时显示消息

ios - FBSDKGraphRequest 不工作

facebook - 本地货币支付/重大更改不起作用/错误代码 : 1353028

facebook - 如何从登录电子邮件地址获取 Facebook 用户 ID