2012-03-30 81 views
1

我跟着方法没有他们的对话框,从这个答案在SO发布Facebook状态更新:https://stackoverflow.com/a/7528388/450534Android的Facebook发布在墙壁上没有对话框警告

我可以张贴在应用中的活动状态更新,但它仍然是产生警告。

它是来自DDMS的强大警告列表。任何意见修复这个问题表示赞赏。

代码:

protected void postToWall(String message) { 

     if (!Utility.mFacebook.isSessionValid()) { 
      Util.showAlert(this, "Warning", "You must first log in."); 
     } 

     Log.d("Tests", "Testing graph API wall post"); 
     try { 
      String response = Utility.mFacebook.request("me"); 
      Bundle parameters = new Bundle(); 
      parameters.putString("message", txtPostToWall.getText().toString()); 
//   parameters.putString("description", getString(R.string.app_desc)); 

      response = Utility.mFacebook.request("me/feed", parameters, "POST"); 
      txtPostToWall.setText(""); 
      this.finish(); 

      Log.d("Tests", "got response: " + response); 

      if (response == null || response.equals("") || response.equals("false")) { 
       Log.v("Error", "Blank response"); 
      } 
     } 
     catch(Exception e) { 
      e.printStackTrace(); 
     } 
    } 

的DDMS警告:(非常非常漫长)

03-30 20:02:53.290: W/Bundle(17941): Key message expected byte[] but value was a java.lang.String. The default value <null> was returned. 
    03-30 20:02:53.306: W/Bundle(17941): Attempt to cast generated internal exception: 
    03-30 20:02:53.306: W/Bundle(17941): java.lang.ClassCastException: java.lang.String 
    03-30 20:02:53.306: W/Bundle(17941): at android.os.Bundle.getByteArray(Bundle.java:1305) 
    03-30 20:02:53.306: W/Bundle(17941): at com.facebook.android.Util.openUrl(Util.java:161) 
    03-30 20:02:53.306: W/Bundle(17941): at com.facebook.android.Facebook.request(Facebook.java:751) 
    03-30 20:02:53.306: W/Bundle(17941): at com.dzinesunlimited.sociallyyou.StatusUpdate.postToWall(StatusUpdate.java:68) 
    03-30 20:02:53.306: W/Bundle(17941): at com.dzinesunlimited.sociallyyou.StatusUpdate$2.onClick(StatusUpdate.java:48) 
    03-30 20:02:53.306: W/Bundle(17941): at android.view.View.performClick(View.java:2538) 
    03-30 20:02:53.306: W/Bundle(17941): at android.view.View$PerformClick.run(View.java:9152) 
    03-30 20:02:53.306: W/Bundle(17941): at android.os.Handler.handleCallback(Handler.java:587) 
    03-30 20:02:53.306: W/Bundle(17941): at android.os.Handler.dispatchMessage(Handler.java:92) 
    03-30 20:02:53.306: W/Bundle(17941): at android.os.Looper.loop(Looper.java:130) 
    03-30 20:02:53.306: W/Bundle(17941): at android.app.ActivityThread.main(ActivityThread.java:3687) 
    03-30 20:02:53.306: W/Bundle(17941): at java.lang.reflect.Method.invokeNative(Native Method) 
    03-30 20:02:53.306: W/Bundle(17941): at java.lang.reflect.Method.invoke(Method.java:507) 
    03-30 20:02:53.306: W/Bundle(17941): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 
    03-30 20:02:53.306: W/Bundle(17941): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
    03-30 20:02:53.306: W/Bundle(17941): at dalvik.system.NativeStart.main(Native Method) 
    03-30 20:02:53.310: W/Bundle(17941): Key access_token expected byte[] but value was a java.lang.String. The default value <null> was returned. 
    03-30 20:02:53.325: W/Bundle(17941): Attempt to cast generated internal exception: 
    03-30 20:02:53.325: W/Bundle(17941): java.lang.ClassCastException: java.lang.String 
    03-30 20:02:53.325: W/Bundle(17941): at android.os.Bundle.getByteArray(Bundle.java:1305) 
    03-30 20:02:53.325: W/Bundle(17941): at com.facebook.android.Util.openUrl(Util.java:161) 
    03-30 20:02:53.325: W/Bundle(17941): at com.facebook.android.Facebook.request(Facebook.java:751) 
    03-30 20:02:53.325: W/Bundle(17941): at com.dzinesunlimited.sociallyyou.StatusUpdate.postToWall(StatusUpdate.java:68) 
    03-30 20:02:53.325: W/Bundle(17941): at com.dzinesunlimited.sociallyyou.StatusUpdate$2.onClick(StatusUpdate.java:48) 
    03-30 20:02:53.325: W/Bundle(17941): at android.view.View.performClick(View.java:2538) 
    03-30 20:02:53.325: W/Bundle(17941): at android.view.View$PerformClick.run(View.java:9152) 
    03-30 20:02:53.325: W/Bundle(17941): at android.os.Handler.handleCallback(Handler.java:587) 
    03-30 20:02:53.325: W/Bundle(17941): at android.os.Handler.dispatchMessage(Handler.java:92) 
    03-30 20:02:53.325: W/Bundle(17941): at android.os.Looper.loop(Looper.java:130) 
    03-30 20:02:53.325: W/Bundle(17941): at android.app.ActivityThread.main(ActivityThread.java:3687) 
    03-30 20:02:53.325: W/Bundle(17941): at java.lang.reflect.Method.invokeNative(Native Method) 
    03-30 20:02:53.325: W/Bundle(17941): at java.lang.reflect.Method.invoke(Method.java:507) 
    03-30 20:02:53.325: W/Bundle(17941): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 
    03-30 20:02:53.325: W/Bundle(17941): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
    03-30 20:02:53.325: W/Bundle(17941): at dalvik.system.NativeStart.main(Native Method) 
    03-30 20:02:53.325: W/Bundle(17941): Key format expected byte[] but value was a java.lang.String. The default value <null> was returned. 
    03-30 20:02:53.341: W/Bundle(17941): Attempt to cast generated internal exception: 
    03-30 20:02:53.341: W/Bundle(17941): java.lang.ClassCastException: java.lang.String 
    03-30 20:02:53.341: W/Bundle(17941): at android.os.Bundle.getByteArray(Bundle.java:1305) 
    03-30 20:02:53.341: W/Bundle(17941): at com.facebook.android.Util.openUrl(Util.java:161) 
    03-30 20:02:53.341: W/Bundle(17941): at com.facebook.android.Facebook.request(Facebook.java:751) 
    03-30 20:02:53.341: W/Bundle(17941): at com.dzinesunlimited.sociallyyou.StatusUpdate.postToWall(StatusUpdate.java:68) 
    03-30 20:02:53.341: W/Bundle(17941): at com.dzinesunlimited.sociallyyou.StatusUpdate$2.onClick(StatusUpdate.java:48) 
    03-30 20:02:53.341: W/Bundle(17941): at android.view.View.performClick(View.java:2538) 
    03-30 20:02:53.341: W/Bundle(17941): at android.view.View$PerformClick.run(View.java:9152) 
    03-30 20:02:53.341: W/Bundle(17941): at android.os.Handler.handleCallback(Handler.java:587) 
    03-30 20:02:53.341: W/Bundle(17941): at android.os.Handler.dispatchMessage(Handler.java:92) 
    03-30 20:02:53.341: W/Bundle(17941): at android.os.Looper.loop(Looper.java:130) 
    03-30 20:02:53.341: W/Bundle(17941): at android.app.ActivityThread.main(ActivityThread.java:3687) 
    03-30 20:02:53.341: W/Bundle(17941): at java.lang.reflect.Method.invokeNative(Native Method) 
    03-30 20:02:53.341: W/Bundle(17941): at java.lang.reflect.Method.invoke(Method.java:507) 
    03-30 20:02:53.341: W/Bundle(17941): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 
    03-30 20:02:53.341: W/Bundle(17941): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
    03-30 20:02:53.341: W/Bundle(17941): at dalvik.system.NativeStart.main(Native Method) 
    03-30 20:02:53.353: W/Bundle(17941): Key message expected byte[] but value was a java.lang.String. The default value <null> was returned. 
    03-30 20:02:53.368: W/Bundle(17941): Attempt to cast generated internal exception: 
    03-30 20:02:53.368: W/Bundle(17941): java.lang.ClassCastException: java.lang.String 
    03-30 20:02:53.368: W/Bundle(17941): at android.os.Bundle.getByteArray(Bundle.java:1305) 
    03-30 20:02:53.368: W/Bundle(17941): at com.facebook.android.Util.encodePostBody(Util.java:69) 
    03-30 20:02:53.368: W/Bundle(17941): at com.facebook.android.Util.openUrl(Util.java:188) 
    03-30 20:02:53.368: W/Bundle(17941): at com.facebook.android.Facebook.request(Facebook.java:751) 
    03-30 20:02:53.368: W/Bundle(17941): at com.dzinesunlimited.sociallyyou.StatusUpdate.postToWall(StatusUpdate.java:68) 
    03-30 20:02:53.368: W/Bundle(17941): at com.dzinesunlimited.sociallyyou.StatusUpdate$2.onClick(StatusUpdate.java:48) 
    03-30 20:02:53.368: W/Bundle(17941): at android.view.View.performClick(View.java:2538) 
    03-30 20:02:53.368: W/Bundle(17941): at android.view.View$PerformClick.run(View.java:9152) 
    03-30 20:02:53.368: W/Bundle(17941): at android.os.Handler.handleCallback(Handler.java:587) 
    03-30 20:02:53.368: W/Bundle(17941): at android.os.Handler.dispatchMessage(Handler.java:92) 
    03-30 20:02:53.368: W/Bundle(17941): at android.os.Looper.loop(Looper.java:130) 
    03-30 20:02:53.368: W/Bundle(17941): at android.app.ActivityThread.main(ActivityThread.java:3687) 
    03-30 20:02:53.368: W/Bundle(17941): at java.lang.reflect.Method.invokeNative(Native Method) 
    03-30 20:02:53.368: W/Bundle(17941): at java.lang.reflect.Method.invoke(Method.java:507) 
    03-30 20:02:53.368: W/Bundle(17941): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 
    03-30 20:02:53.368: W/Bundle(17941): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
    03-30 20:02:53.368: W/Bundle(17941): at dalvik.system.NativeStart.main(Native Method) 
    03-30 20:02:53.368: W/Bundle(17941): Key method expected byte[] but value was a java.lang.String. The default value <null> was returned. 
    03-30 20:02:53.384: W/Bundle(17941): Attempt to cast generated internal exception: 
    03-30 20:02:53.384: W/Bundle(17941): java.lang.ClassCastException: java.lang.String 
    03-30 20:02:53.384: W/Bundle(17941): at android.os.Bundle.getByteArray(Bundle.java:1305) 
    03-30 20:02:53.384: W/Bundle(17941): at com.facebook.android.Util.encodePostBody(Util.java:69) 
    03-30 20:02:53.384: W/Bundle(17941): at com.facebook.android.Util.openUrl(Util.java:188) 
    03-30 20:02:53.384: W/Bundle(17941): at com.facebook.android.Facebook.request(Facebook.java:751) 
    03-30 20:02:53.384: W/Bundle(17941): at com.dzinesunlimited.sociallyyou.StatusUpdate.postToWall(StatusUpdate.java:68) 
    03-30 20:02:53.384: W/Bundle(17941): at com.dzinesunlimited.sociallyyou.StatusUpdate$2.onClick(StatusUpdate.java:48) 
    03-30 20:02:53.384: W/Bundle(17941): at android.view.View.performClick(View.java:2538) 
    03-30 20:02:53.384: W/Bundle(17941): at android.view.View$PerformClick.run(View.java:9152) 
    03-30 20:02:53.384: W/Bundle(17941): at android.os.Handler.handleCallback(Handler.java:587) 
    03-30 20:02:53.384: W/Bundle(17941): at android.os.Handler.dispatchMessage(Handler.java:92) 
    03-30 20:02:53.384: W/Bundle(17941): at android.os.Looper.loop(Looper.java:130) 
    03-30 20:02:53.384: W/Bundle(17941): at android.app.ActivityThread.main(ActivityThread.java:3687) 
    03-30 20:02:53.384: W/Bundle(17941): at java.lang.reflect.Method.invokeNative(Native Method) 
    03-30 20:02:53.384: W/Bundle(17941): at java.lang.reflect.Method.invoke(Method.java:507) 
    03-30 20:02:53.384: W/Bundle(17941): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 
    03-30 20:02:53.384: W/Bundle(17941): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
    03-30 20:02:53.384: W/Bundle(17941): at dalvik.system.NativeStart.main(Native Method) 
    03-30 20:02:53.388: W/Bundle(17941): Key access_token expected byte[] but value was a java.lang.String. The default value <null> was returned. 
    03-30 20:02:53.403: W/Bundle(17941): Attempt to cast generated internal exception: 
    03-30 20:02:53.403: W/Bundle(17941): java.lang.ClassCastException: java.lang.String 
    03-30 20:02:53.403: W/Bundle(17941): at android.os.Bundle.getByteArray(Bundle.java:1305) 
    03-30 20:02:53.403: W/Bundle(17941): at com.facebook.android.Util.encodePostBody(Util.java:69) 
    03-30 20:02:53.403: W/Bundle(17941): at com.facebook.android.Util.openUrl(Util.java:188) 
    03-30 20:02:53.403: W/Bundle(17941): at com.facebook.android.Facebook.request(Facebook.java:751) 
    03-30 20:02:53.403: W/Bundle(17941): at com.dzinesunlimited.sociallyyou.StatusUpdate.postToWall(StatusUpdate.java:68) 
    03-30 20:02:53.403: W/Bundle(17941): at com.dzinesunlimited.sociallyyou.StatusUpdate$2.onClick(StatusUpdate.java:48) 
    03-30 20:02:53.403: W/Bundle(17941): at android.view.View.performClick(View.java:2538) 
    03-30 20:02:53.403: W/Bundle(17941): at android.view.View$PerformClick.run(View.java:9152) 
    03-30 20:02:53.403: W/Bundle(17941): at android.os.Handler.handleCallback(Handler.java:587) 
    03-30 20:02:53.403: W/Bundle(17941): at android.os.Handler.dispatchMessage(Handler.java:92) 
    03-30 20:02:53.403: W/Bundle(17941): at android.os.Looper.loop(Looper.java:130) 
    03-30 20:02:53.403: W/Bundle(17941): at android.app.ActivityThread.main(ActivityThread.java:3687) 
    03-30 20:02:53.403: W/Bundle(17941): at java.lang.reflect.Method.invokeNative(Native Method) 
    03-30 20:02:53.403: W/Bundle(17941): at java.lang.reflect.Method.invoke(Method.java:507) 
    03-30 20:02:53.403: W/Bundle(17941): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 
    03-30 20:02:53.403: W/Bundle(17941): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
    03-30 20:02:53.403: W/Bundle(17941): at dalvik.system.NativeStart.main(Native Method) 
    03-30 20:02:53.403: W/Bundle(17941): Key format expected byte[] but value was a java.lang.String. The default value <null> was returned. 
    03-30 20:02:53.423: W/Bundle(17941): Attempt to cast generated internal exception: 
    03-30 20:02:53.423: W/Bundle(17941): java.lang.ClassCastException: java.lang.String 
    03-30 20:02:53.423: W/Bundle(17941): at android.os.Bundle.getByteArray(Bundle.java:1305) 
    03-30 20:02:53.423: W/Bundle(17941): at com.facebook.android.Util.encodePostBody(Util.java:69) 
    03-30 20:02:53.423: W/Bundle(17941): at com.facebook.android.Util.openUrl(Util.java:188) 
    03-30 20:02:53.423: W/Bundle(17941): at com.facebook.android.Facebook.request(Facebook.java:751) 
    03-30 20:02:53.423: W/Bundle(17941): at com.dzinesunlimited.sociallyyou.StatusUpdate.postToWall(StatusUpdate.java:68) 
    03-30 20:02:53.423: W/Bundle(17941): at com.dzinesunlimited.sociallyyou.StatusUpdate$2.onClick(StatusUpdate.java:48) 
    03-30 20:02:53.423: W/Bundle(17941): at android.view.View.performClick(View.java:2538) 
    03-30 20:02:53.423: W/Bundle(17941): at android.view.View$PerformClick.run(View.java:9152) 
    03-30 20:02:53.423: W/Bundle(17941): at android.os.Handler.handleCallback(Handler.java:587) 
    03-30 20:02:53.423: W/Bundle(17941): at android.os.Handler.dispatchMessage(Handler.java:92) 
    03-30 20:02:53.423: W/Bundle(17941): at android.os.Looper.loop(Looper.java:130) 
    03-30 20:02:53.423: W/Bundle(17941): at android.app.ActivityThread.main(ActivityThread.java:3687) 
    03-30 20:02:53.423: W/Bundle(17941): at java.lang.reflect.Method.invokeNative(Native Method) 
    03-30 20:02:53.423: W/Bundle(17941): at java.lang.reflect.Method.invoke(Method.java:507) 
    03-30 20:02:53.423: W/Bundle(17941): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 
    03-30 20:02:53.423: W/Bundle(17941): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
    03-30 20:02:53.423: W/Bundle(17941): at dalvik.system.NativeStart.main(Native Method) 

任何帮助非常感谢。

回答

2

很好。我觉得对于已经忽略了重要的警告共有白痴..... :-(

诀窍是从线69来改变Util.java在Facebook的SDK:

if (parameters.getByteArray(key) != null) { 

到:

if (parameters.get(key) instanceof byte[]) { 

由于该解决方案张贴在这里:https://stackoverflow.com/a/3927541/450534

相关问题