socialize / socialize-sdk-android

Socialize SDK for Android. An Android social sharing SDK for native apps.
www.getsocialize.com
Apache License 2.0
147 stars 57 forks source link

Unable to add comments from background thread #22

Closed aravance closed 12 years ago

aravance commented 12 years ago

When calling CommentUtils.addComment(context, entity, text, options, listener) from an AsyncTask's doInBackground method, the invocation fails and logs an exception. The exception is below.

08-17 11:30:06.982: E/Socialize(10321): null
08-17 11:30:06.982: E/Socialize(10321): java.lang.reflect.InvocationTargetException
08-17 11:30:06.982: E/Socialize(10321):     at java.lang.reflect.Method.invokeNative(Native Method)
08-17 11:30:06.982: E/Socialize(10321):     at java.lang.reflect.Method.invoke(Method.java:511)
08-17 11:30:06.982: E/Socialize(10321):     at com.socialize.SocializeActionProxy.invoke(SocializeActionProxy.java:149)
08-17 11:30:06.982: E/Socialize(10321):     at com.socialize.SocializeActionProxy.invokeWithInit(SocializeActionProxy.java:114)
08-17 11:30:06.982: E/Socialize(10321):     at com.socialize.SocializeActionProxy.invoke(SocializeActionProxy.java:85)
08-17 11:30:06.982: E/Socialize(10321):     at $Proxy7.addComment(Native Method)
08-17 11:30:06.982: E/Socialize(10321):     at com.socialize.CommentUtils.addComment(CommentUtils.java:82)
08-17 11:30:06.982: E/Socialize(10321):     at com.nexercise.client.android.components.WinningsViewDialog.postXPEarnedToSocialize(WinningsViewDialog.java:562)
08-17 11:30:06.982: E/Socialize(10321):     at com.nexercise.client.android.components.WinningsViewDialog.postToSocializeIfSelected(WinningsViewDialog.java:870)
08-17 11:30:06.982: E/Socialize(10321):     at com.nexercise.client.android.components.WinningsViewDialog.postToSocialNetworksIfSelected(WinningsViewDialog.java:841)
08-17 11:30:06.982: E/Socialize(10321):     at com.nexercise.client.android.components.WinningsViewDialog.access$0(WinningsViewDialog.java:835)
08-17 11:30:06.982: E/Socialize(10321):     at com.nexercise.client.android.components.WinningsViewDialog$SubmitSocialNetworkPostsAsynTask.doInBackground(WinningsViewDialog.java:901)
08-17 11:30:06.982: E/Socialize(10321):     at com.nexercise.client.android.components.WinningsViewDialog$SubmitSocialNetworkPostsAsynTask.doInBackground(WinningsViewDialog.java:1)
08-17 11:30:06.982: E/Socialize(10321):     at android.os.AsyncTask$2.call(AsyncTask.java:287)
08-17 11:30:06.982: E/Socialize(10321):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
08-17 11:30:06.982: E/Socialize(10321):     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
08-17 11:30:06.982: E/Socialize(10321):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
08-17 11:30:06.982: E/Socialize(10321):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
08-17 11:30:06.982: E/Socialize(10321):     at java.lang.Thread.run(Thread.java:856)
08-17 11:30:06.982: E/Socialize(10321): Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
08-17 11:30:06.982: E/Socialize(10321):     at android.os.Handler.<init>(Handler.java:121)
08-17 11:30:06.982: E/Socialize(10321):     at android.app.Dialog.<init>(Dialog.java:107)
08-17 11:30:06.982: E/Socialize(10321):     at android.app.Dialog.<init>(Dialog.java:147)
08-17 11:30:06.982: E/Socialize(10321):     at com.socialize.ui.dialog.BaseDialogFactory.newDialog(BaseDialogFactory.java:43)
08-17 11:30:06.982: E/Socialize(10321):     at com.socialize.ui.dialog.AsyncDialogFactory.showDialog(AsyncDialogFactory.java:58)
08-17 11:30:06.982: E/Socialize(10321):     at com.socialize.ui.share.ShareDialogFactory.show(ShareDialogFactory.java:66)
08-17 11:30:06.982: E/Socialize(10321):     at com.socialize.api.action.comment.SocializeCommentUtils.doCommentWithShareDialog(SocializeCommentUtils.java:182)
08-17 11:30:06.982: E/Socialize(10321):     at com.socialize.api.action.comment.SocializeCommentUtils.addComment(SocializeCommentUtils.java:171)
08-17 11:30:06.982: E/Socialize(10321):     ... 19 more
jasonpolites commented 12 years ago

Discussed here:

http://support.getsocialize.com/socialize/topics/commentutils_addcomment_does_not_work_from_a_background_thread_asynctask?utm_content=topic_link&utm_medium=email&utm_source=new_topic