当前位置: 首页 > 知识库问答 >
问题:

使用authendication在android Webview中显示pdf

金阳华
2023-03-14

请查一下我的代码。

public class MainActivity extends Activity {

    @SuppressLint("SetJavaScriptEnabled")
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        WebView webview = new WebView(MainActivity.this);
        webview.getSettings().setJavaScriptEnabled(true);
        String url=
                 "https://docs.google.com/gview?embedded=true&url=" +"http://spahousingli.evero.com/SPADocuments/Forms/Clients/Admissions/ADM000000011.pdf";


        webview.loadUrl(url);
        webview.setWebViewClient(new WebViewClient() {
            public void onReceivedHttpAuthRequest(WebView view,
                    android.webkit.HttpAuthHandler handler, String host,
                    String realm) {

                handler.proceed("username", "password");
            };
        });
        setContentView(webview);

    }   
}

共有1个答案

公羊俭
2023-03-14

我认为问题在于用于登录的凭据(用于基本身份验证的http头)被发送到谷歌url,而谷歌不会将它们发送到spahousingli.evero.com。因此,spahousingli.evero.com不会收到认证头,并将拒绝来自Google的请求。

我认为首先下载pdf并在设备上用Adobe Reader打开它是最简单的解决方案。

编辑:
下载pdf到您的手机。(locationOfYourPdfFile)使用以下代码打开pdf:

File pdfFile = new File(locationOfYourPdfFile);
Uri path = Uri.fromFile(pdfFile);
Intent pdfIntent = new Intent(Intent.ACTION_VIEW);
pdfIntent.setDataAndType(path,"application/pdf");
pdfIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

try{
    startActivity(pdfIntent);
}catch(ActivityNotFoundException e){
    Toast.makeText(MyPDFDemo.this, "No Application available to view pdf", Toast.LENGTH_LONG).show();
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=com.adobe.reader")));
}
 类似资料:
  • 问题内容: 我正在尝试显示一个ProgressBar。 我是Android初学者。 当我按下按钮时,任务应该在后台运行,但是它不会显示ProgressBar。 怎么了 我不明白。 请帮我! 主要活动: 我的任务: 问题答案: 您没有调用的方法。

  • 我第一次使用Glide在ImageView中显示GIF。我已经按照几个站点的方式对其进行了编码。但它不起作用。我已经给出了以下所有代码:(如果我弄错了什么,请告诉我) 项目级build.gradle 应用程序级构建。gradle文件: activity_main.xml 活动Java代码: 单击“提交”按钮后,我没有看到GIF图像。

  • 移动应用程序新手。我正在尝试在我的android应用程序上使用webview。但我的代码中有一个问题。我使用了https://developer.android.com/但它现在不知怎么起作用了。你能查一下我的密码吗。。。。 Android说“无法解决符号webview”... 整个代码都在这里-

  • 问题内容: 我正在尝试为一些数据生成热图,我的代码如下所示: 它生成图像 我也想在网格内显示值。有什么办法吗? 问题答案: 当然,只需执行以下操作: 但是,标签很难看到,因此您可能需要在它们周围放置一个框: 另外,在许多情况下,这样做更为有用。它在放置文本方面更加灵活,但也更加复杂。在这里看看示例:http : //matplotlib.org/users/annotations_guide.ht

  • 如何使用网格布局管理器水平显示三行三列的循环视图项目,增加垂直增加的价值,类似于下图

  • 我正在使用thymeleaf和spring 3 mvc。当我尝试执行Ajax POST请求时,我不明白如何在html页面上显示来自控制器的响应消息: 这是一个代码片段: “响应”是来自控制器的i18n消息。现在,我想在使用thymeleaf(th:text=“response”)时显示这条消息。当然,这段代码不起作用,因为它认为响应变量是一个普通字符串。 问题是如何使用thymeleaf显示国际化