Android WebView未显示图像Instagram嵌入

Android WebView未显示图像Instagram嵌入,android,webview,android-webview,embed,instagram,Android,Webview,Android Webview,Embed,Instagram,我正在将Instagram帖子嵌入Android WebView,但图片未显示 这是截图 以下是我的WebView代码: @SuppressLint("SetJavaScriptEnabled") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

我正在将Instagram帖子嵌入Android WebView,但图片未显示

这是截图

以下是我的WebView代码:

@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    WebView webView = (WebView) findViewById(R.id.webview);
    webView.setHorizontalScrollBarEnabled(false);
    webView.setVerticalScrollBarEnabled(false);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setUserAgentString(USER_AGENT);
    webView.loadDataWithBaseURL(null, TEXT_INSTAGRAM, "text/html", "utf-8", null);
}

private String TEXT_INSTAGRAM = "<blockquote class=\"instagram-media\" data-instgrm-captioned=\"\" data-instgrm-version=\"7\" style=\" background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:658px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);\"><div style=\"padding:8px;\"> <div style=\" background:#F8F8F8; line-height:0; margin-top:40px; padding:62.4537037037% 0; text-align:center; width:100%;\"> <div style=\" background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURczMzPf399fX1+bm5mzY9AMAAADiSURBVDjLvZXbEsMgCES5/P8/t9FuRVCRmU73JWlzosgSIIZURCjo/ad+EQJJB4Hv8BFt+IDpQoCx1wjOSBFhh2XssxEIYn3ulI/6MNReE07UIWJEv8UEOWDS88LY97kqyTliJKKtuYBbruAyVh5wOHiXmpi5we58Ek028czwyuQdLKPG1Bkb4NnM+VeAnfHqn1k4+GPT6uGQcvu2h2OVuIf/gWUFyy8OWEpdyZSa3aVCqpVoVvzZZ2VTnn2wU8qzVjDDetO90GSy9mVLqtgYSy231MxrY6I2gGqjrTY0L8fxCxfCBbhWrsYYAAAAAElFTkSuQmCC); display:block; height:44px; margin:0 auto -44px; position:relative; top:-22px; width:44px;\"></div></div> <p style=\" margin:8px 0 0 0; padding:0 4px;\"> <a href=\"https://www.instagram.com/p/BNYDM90gGJ3/\" style=\" color:#000; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none; word-wrap:break-word;\" target=\"_blank\">A view</a></p> <p style=\" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;\">A photo posted by Sarah (@sarahsnyder) on <time datetime=\"2016-11-29T01:34:08+00:00\" style=\" font-family:Arial,sans-serif; font-size:14px; line-height:17px;\">Nov 28, 2016 at 5:34pm PST</time></p></div></blockquote><script async=\"\" defer=\"\" src=\"http://platform.instagram.com/en_US/embeds.js\"></script>";
@SuppressLint(“SetJavaScriptEnabled”)
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView WebView=(WebView)findViewById(R.id.WebView);
webView.setHorizontalScrollBarEnabled(false);
webView.setVerticalScrollBarEnabled(false);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setUserAgentString(用户代理);
webView.loadDataWithBaseURL(空,TEXT\u INSTAGRAM,“TEXT/html”,“utf-8”,空);
}
私有字符串文本\u INSTAGRAM=“

莎拉(@sarahsnyder)于2016年11月28日太平洋标准时间下午5:34发布的照片

”;
如何修复此问题,以便嵌入式Instagram可以在WebView上显示


谢谢

您已经在onCreate方法下面定义了您的文本安装图。 请通过在Oncreate中定义它来更改它

@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

private String TEXT_INSTAGRAM = "<blockquote class=\"instagram-media\" data-instgrm-captioned=\"\" data-instgrm-version=\"7\" style=\" background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:658px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);\"><div style=\"padding:8px;\"> <div style=\" background:#F8F8F8; line-height:0; margin-top:40px; padding:62.4537037037% 0; text-align:center; width:100%;\"> <div style=\" background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURczMzPf399fX1+bm5mzY9AMAAADiSURBVDjLvZXbEsMgCES5/P8/t9FuRVCRmU73JWlzosgSIIZURCjo/ad+EQJJB4Hv8BFt+IDpQoCx1wjOSBFhh2XssxEIYn3ulI/6MNReE07UIWJEv8UEOWDS88LY97kqyTliJKKtuYBbruAyVh5wOHiXmpi5we58Ek028czwyuQdLKPG1Bkb4NnM+VeAnfHqn1k4+GPT6uGQcvu2h2OVuIf/gWUFyy8OWEpdyZSa3aVCqpVoVvzZZ2VTnn2wU8qzVjDDetO90GSy9mVLqtgYSy231MxrY6I2gGqjrTY0L8fxCxfCBbhWrsYYAAAAAElFTkSuQmCC); display:block; height:44px; margin:0 auto -44px; position:relative; top:-22px; width:44px;\"></div></div> <p style=\" margin:8px 0 0 0; padding:0 4px;\"> <a href=\"https://www.instagram.com/p/BNYDM90gGJ3/\" style=\" color:#000; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none; word-wrap:break-word;\" target=\"_blank\">A view</a></p> <p style=\" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;\">A photo posted by Sarah (@sarahsnyder) on <time datetime=\"2016-11-29T01:34:08+00:00\" style=\" font-family:Arial,sans-serif; font-size:14px; line-height:17px;\">Nov 28, 2016 at 5:34pm PST</time></p></div></blockquote><script async=\"\" defer=\"\" src=\"http://platform.instagram.com/en_US/embeds.js\"></script>";

WebView webView = (WebView) findViewById(R.id.webview);
webView.setHorizontalScrollBarEnabled(false);
webView.setVerticalScrollBarEnabled(false);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setUserAgentString(USER_AGENT);
webView.loadDataWithBaseURL(null, TEXT_INSTAGRAM, "text/html", "utf-8", null);
}
@SuppressLint(“SetJavaScriptEnabled”)
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
私有字符串TEXT\u INSTAGRAM=“

/p>

莎拉发布的照片(@sarahsnyder)于2016年11月28日太平洋标准时间下午5:34; WebView WebView=(WebView)findViewById(R.id.WebView); webView.setHorizontalScrollBarEnabled(false); webView.setVerticalScrollBarEnabled(false); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setUserAgentString(用户代理); webView.loadDataWithBaseURL(空,TEXT\u INSTAGRAM,“TEXT/html”,“utf-8”,空); }

您必须更改

webView.loadDataWithBaseURL(null, TEXT_INSTAGRAM, "text/html", "utf-8", null);
<script async defer src="//platform.instagram.com/en_US/embeds.js"> 

你需要改变

webView.loadDataWithBaseURL(null, TEXT_INSTAGRAM, "text/html", "utf-8", null);
<script async defer src="//platform.instagram.com/en_US/embeds.js"> 

致:



在TEXT_INSTAGRAM中。

尝试在清单标记中使用
android:hardwareAccelerated=“true”
。您好@Ra谢谢您的建议,我在清单上添加了android:hardwareAccelerated=“true”,但图片仍然没有显示使用loadData而不是loadDataWithBaseUrl?抱歉,我忘记了我的代码包括以下内容:webView.getSettings().setUserAgentString(USER_AGENT);如果我删除这行,Instagram图片会显示,但我需要在我的网络视图上设置USER AGENT,你知道如何解决这个问题吗?嗨@Avinash Saran,我尝试了你的建议,但图片仍然不显示我的帖子只显示本地url,而不是https,我尝试过Instagram url,但它对我不起作用。