当我们想分享通过Facebook SDK图片和文字异常 [英] Exception when we want to share image and text via Facebook sdk
本文介绍了当我们想分享通过Facebook SDK图片和文字异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的问题,当我们要上的的Facebook 的的帮助下<$ C $其的图片和文本的共享产品C> Facebook的SDK (Fb的对话),那么它给出了一个错误消息如下:
I have problem that When we want to share a product with its image and text on facebook with the help of facebook sdk
(Fb Dialog) then it gives an error message as following:
错误堆栈:
*
08-20 12:26:06.002: ERROR/AndroidRuntime(1776): FATAL EXCEPTION: main
08-20 12:26:06.002: ERROR/AndroidRuntime(1776): java.lang.ArrayIndexOutOfBoundsException
08-20 12:26:06.002: ERROR/AndroidRuntime(1776): at com.facebook.android.Util.decodeUrl(Util.java:96)
08-20 12:26:06.002: ERROR/AndroidRuntime(1776): at com.facebook.android.Util.parseUrl(Util.java:115)
08-20 12:26:06.002: ERROR/AndroidRuntime(1776): at com.facebook.android.FbDialog$FbWebViewClient.shouldOverrideUrlLoading(FbDialog.java:125)
08-20 12:26:06.002: ERROR/AndroidRuntime(1776): at android.webkit.CallbackProxy.uiOverrideUrlLoading(CallbackProxy.java:224)
08-20 12:26:06.002: ERROR/AndroidRuntime(1776): at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:349)
08-20 12:26:06.002: ERROR/AndroidRuntime(1776): at android.os.Handler.dispatchMessage(Handler.java:99)
08-20 12:26:06.002: ERROR/AndroidRuntime(1776): at android.os.Looper.loop(Looper.java:123)
08-20 12:26:06.002: ERROR/AndroidRuntime(1776): at android.app.ActivityThread.main(ActivityThread.java:4627)
08-20 12:26:06.002: ERROR/AndroidRuntime(1776): at java.lang.reflect.Method.invokeNative(Native Method)
08-20 12:26:06.002: ERROR/AndroidRuntime(1776): at java.lang.reflect.Method.invoke(Method.java:521)
08-20 12:26:06.002: ERROR/AndroidRuntime(1776): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
08-20 12:26:06.002: ERROR/AndroidRuntime(1776): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
08-20 12:26:06.002: ERROR/AndroidRuntime(1776): at dalvik.system.NativeStart.main(Native Method)*
FB对话框code是如下:
package com.shopzilla.android.listener;
import android.app.Activity;
import android.os.Bundle;
import com.shopzilla.android.client.model.BaseInventoryItem;
import com.shopzilla.android.moretab.SettingActivity;
import com.facebook.android.DialogError;
import com.facebook.android.Facebook.DialogListener;
import com.facebook.android.FacebookError;
/**
* A facebook dialog listener.
*
* @author Rod Barlow
* @since 7/21/11
*/
public class FacebookDialogListener implements DialogListener {
final BaseInventoryItem item;
final Activity activity;
public FacebookDialogListener(BaseInventoryItem item, Activity activity) {
this.item = item;
this.activity = activity;
}
@Override
public void onComplete(Bundle values) {
if (values.isEmpty()) {
//"skip" clicked ?
return;
}
if (!values.containsKey("post_id")) {
try {
Bundle parameters = new Bundle();
parameters.putString("attachment", "{\"name\":\"" + item.getTitle() + "\",\"href\":\"" + item.getUrl() + "\",\"description\":\" \", \"media\":[{\"type\":\"image\",\"src\":\"" + item.getImageUrl() + "\",\"href\":\"" + item.getUrl() + "\"}]}");
SettingActivity.mFacebook.dialog(activity, "stream.publish", parameters, new FacebookLoginDialogListener());
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
@Override
public void onFacebookError(FacebookError e) {
System.out.println("Error: " + e.getMessage());
}
@Override
public void onError(DialogError e) {
System.out.println("Error: " + e.getMessage());
}
@Override
public void onCancel() {
}
}
请帮我出这个问题。
推荐答案
这是一个很容易的code解决如下:
This Is Solved by a very easy Code as following:
在Util.java您必须在德code方法添加此行:
if(v.length == 2)
{
param= /*as mentioned previous*/
}
和问题解决了。
这篇关于当我们想分享通过Facebook SDK图片和文字异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文