Android Facebook API供稿对话框?

问题描述:

好的,我已经设置了一个新的Facebook应用程序,我也有API和所有的爵士乐设置,并使用API​​成功发布到Facebook。这是我的问题。Android Facebook API供稿对话框?

如何以我想要的方式格式化文本?

例如:

description += "First line \r\n"; 
description += "Second line \r\n"; 

我使用Facebook的Android SDK和使用作为上市here

而且饲料对话的方式,我现在用的饲料对话框,如下所示:

String description += "First line \r\n"; 
description += "Second line \r\n"; 
Facebook facebook = new Facebook("MY_APP_ID"); 
SetAccessToken(mContext, facebook); 
params.putString("link", ""); 
params.putString("picture", ""); 
params.putString("name", ""); 
facebook.dialog(mContext, "feed", params, new Facebook.DialogListener() { 

public void onFacebookError(FacebookError e) { 

} 

public void onError(DialogError e) { 

} 

public void onComplete(Bundle values) { 

} 

public void onCancel() { 

} 
}); 

每当我这样做,它会拉起我的Facebook对话框,并且行不会被换行符分开。我还试图用HTML如

<p>Line 1</p> 
<p>Line 2</p> 

我的猜测是,我需要使用其他方法,以实际交的格式化文本,比原料对话等。我知道其他Facebook应用正在以正确格式化的文本发布给用户提要。只是不确定为什么SDK不提供相同的功能。

编辑1

我想补充这一点,提交实际上是在年底的URL格式反正。我尝试添加网址转义字符,但似乎没有为我做任何事情。

String url = endpoint + "?" + Util.encodeUrl(parameters); 

然后,他们将其传递给webview。所以我目前正在研究这个。任何建议表示赞赏。

据我所研究... Facebook不允许它的域名图像通过帖子张贴在墙上。所以,我们不能使用它。现在我在做什么是通过下面的代码获得IMGE:

ImageView user_picture; 
     user_picture = (ImageView) findViewById(R.id.user_picture); 
     URL img_value = null; 
     Bitmap mIcon1 = null; 
     try { 
      img_value = new URL("http://graph.facebook.com/XXXX/picture"); 
      try { 
       mIcon1 = BitmapFactory.decodeStream(img_value 
         .openConnection().getInputStream()); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } catch (MalformedURLException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     if(mIcon1!=null){ 
      user_picture.setImageBitmap(mIcon1); 
     } 

,如果你希望它转换为字节数组

ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
     mIcon1.compress(Bitmap.CompressFormat.PNG, 100, baos);  
     b = baos.toByteArray(); 

这个图像发送到我的服务器,然后张贴到墙上。

+0

迈克感谢FR的例子,但我需要帮助搞清楚为什么这不接受新线 – meanbunny 2012-03-02 18:57:41

你试过:

String message = "<p>Line 1</p><p>Line 2</p>"; 
params.putString("message", Html.fromHtml(message).toString()); 
+0

让我试试这个,今晚,当我回家。我记得看到过这样的例子,但忘了试一试。 – meanbunny 2012-03-02 18:56:41

+0

这是一个否定。我查看了Facebook API,并将其添加为我的问题的编辑。它只是简单地使用URL来发送数据。 – meanbunny 2012-03-03 01:06:46

+0

奇怪的是,URLEncoder接受了\ r \ n并用Line + 1 +%0D%0A + Line + 2来替换它,所以我不确定Facebook为什么不是不允许多条线路。这真的很烦人。我知道使用Facebook API的PHP版本的人没有任何问题。所以我想我需要弄清楚如何使用它们。 – meanbunny 2012-03-03 16:37:12