简体   繁体   English

有意打开 pdf 文件时出现问题

[英]Issue with opening pdf file with intent

I am trying to open a PDF file using an Intent , but the PDF viewer closes as soon as it starts.我正在尝试使用Intent打开 PDF 文件,但是 PDF 查看器在启动后立即关闭。 It does show the filename, which is the same as what I tried to open.它确实显示了文件名,这与我尝试打开的文件名相同。

Here is my code:这是我的代码:

if (mimetype.equals("application/pdf") && file.isFile()) {
    Uri uri = FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".provider", file);
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(uri, mimetype);
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
    intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    context.startActivity(intent);
}

check this is worked for me检查这对我有用

if (checkPermission()) {
                Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                intent.addCategory(Intent.CATEGORY_OPENABLE);
                intent.setType("application/pdf");
                startActivityForResult(intent, SELECT_VIDEO_REQUEST);

            } else {
                requestPermission();

            }

check permission fun检查权限乐趣

private boolean checkPermission() {
    int result = ContextCompat.checkSelfPermission(NewPaymentActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
    return result == PackageManager.PERMISSION_GRANTED;
}

request permission func请求权限函数

private void requestPermission() {

    if (ActivityCompat.shouldShowRequestPermissionRationale(NewPaymentActivity.this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
        Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
        intent.addCategory(Intent.CATEGORY_OPENABLE);
        intent.setType("application/pdf");
        startActivityForResult(intent, SELECT_VIDEO_REQUEST);
    } else {
        ActivityCompat.requestPermissions(NewActivity.this, new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM