2012-03-02 48 views
0

好的,我已經設置了一個新的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。所以我目前正在研究這個。任何建議表示讚賞。

回答

2

據我所研究... 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

1

你試過:

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

相關問題