apurva
apurva

Reputation: 117

Post photo on Facebook using FacebookDialog

I am getting null pointer exception at getApplicationContext(). This is my code.

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

}

I have checked if facebook is installed. its returning true. So obviosly FacebookDialog.canPresentShareDialog is not the prob. Have tried this, context and everything.

This is my LOg:

 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 using facebook sdk 3.22.0 as gradle gives that.What should i do? where is error. :(

Upvotes: 3

Views: 415

Answers (1)

Liron
Liron

Reputation: 2032

I got it to work on my end. Seems that https://stackoverflow.com/a/19169776/642185 was the answer.

I was able to log in, because I had the facebook app ID as a string in code, but I needed it in the metadata to get this part to work.

Upvotes: 1

Related Questions