2015-04-01 133 views
4

我有一個帶有WebView的Android應用程序,其中顯示包含嵌入式twit和嵌入式instagram照片的內容。將instagram嵌入Android WebView

在這兩種情況下,我複製塊引用的文件中表示,我表現出來這樣說:

String html = "<!DOCTYPE HTML><html><head><style>a {color:#333333;}</style></head><body>"+content.substring(0, blockquoteEnd)+"<script async src=\"//platform.twitter.com/widgets.js\" charset=\"utf-8\"></script></body></html>"; 
    WebView tText = new WebView(getActivity()); 
    tText.loadDataWithBaseURL("", html, "text/html", "UTF-8", ""); 
    WebSettings webSettings = tText.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 
    textWrapper.addView(tText); 

我的推文僅在純文本顯示,但我解決了這個問題這一行:

tText.loadDataWithBaseURL("https://twitter.com", html, "text/html", "UTF-8", ""); 

我試圖做同樣的Instagram的照片這樣做:

tText.loadDataWithBaseURL("https://instagram.com", html, "text/html", "UTF-8", ""); 

,但它」 s不工作,所有instagram照片只顯示純文本描述。

我找不到任何有關如何在Android WebViews中嵌入Instagram的文檔(官方或非官方)。任何人有任何想法如何解決這個問題?

+0

您是否解決了什麼問題?我把instagram的HTML嵌入到我的'WebView'中,而不是實際的圖片,我看到了Instagram的標誌。 – IlyaEremin 2016-03-31 09:58:27

+1

不,對不起,我找不到解決辦法。 – Wonton 2016-03-31 10:13:55

+0

我剛剛嘗試將baseUrl設置爲'https:// instagram.com',塊開始加載圖像,但調整大小錯誤(圖像重疊或被剪裁)。 – IlyaEremin 2016-03-31 11:10:49

回答

0

您是否嘗試過使用此鏈接? https://instagram.com/developer/embedding/

我不知道你的「HTML」參數是什麼,當你試圖嵌入的Instagram,但假設你有鏈接,要嵌入的項目,您可以發送一個請求http://api.instagram.com/oembed與項目的URL並獲取相關信息(請參閱鏈接底部的「嵌入開發人員」);一旦得到響應,您應該能夠從JSON對象中檢索「html」部分,並將其作爲第二個參數傳遞給loadDataWithBaseURL。

此外,我試圖在我的Android應用程序中嵌入Instagram和Facebook視頻,並且無法使用,因爲我使用null作爲第一個參數調用loadDataWithBaseURL,而不是Instagram/FB URL。今天早些時候,我看到了你的問題,並注意到你的第一個參數與我的不同,所以我改變了它,然後一切正常。所以謝謝你:-)

+0

也許現在有更具體的移動教程,但是當我發佈我的答案時,這是我發現將Instagram嵌入到我的移動應用程序中的唯一方式 - 使用WebView,因此Web教程很有幫助,或者至少對我而言是.. – Mor 2016-06-26 10:55:28

0

我有同樣的問題。這裏的方法loadDataWithBaseURL(),在第一個參數中它需要baseUrl。我曾經搜索過關於baseUrl的地方,我發現某些地方的建議只保留爲null,「」或Fake://。但我的問題沒有解決,但之後,我給我的網站baseUrl從嵌入Instagram重定向,我解決了我的問題。並且Twitter視頻播放問題也解決了。

在loadData部分,你會看到https://developer.android.com/reference/android/webkit/WebView.html