Post 使用 FacebookDialog 在 Facebook 上拍摄照片
Post photo on Facebook using FacebookDialog
我在 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[=12=]0(Results.java:34)
at com.racebuddy2.Results.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 给出 that.What 我应该怎么做?错误在哪里。 :(
我让它在我这边工作。似乎 就是答案。
我能够登录,因为我在代码中将 facebook 应用程序 ID 作为字符串,但我需要它在元数据中才能使这部分工作。
我在 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[=12=]0(Results.java:34)
at com.racebuddy2.Results.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 给出 that.What 我应该怎么做?错误在哪里。 :(
我让它在我这边工作。似乎 就是答案。
我能够登录,因为我在代码中将 facebook 应用程序 ID 作为字符串,但我需要它在元数据中才能使这部分工作。