Попытка открыть PDF в деятельности - PullRequest
0 голосов
/ 21 апреля 2020

Стек: нет активности для токена android .os. BinderProxy@8ade520

File file = new File(Environment.getExternalStorageDirectory(),
            "file:///android_asset/0/CHRG-116hhrg39406.pdf");
    Uri path = Uri.fromFile(file);
    Intent pdfOpenintent = new Intent(Intent.ACTION_VIEW);
    pdfOpenintent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    pdfOpenintent.setDataAndType(path, "application/pdf");

    try {

        startActivity(pdfOpenintent);
    }
    catch (WindowManager.BadTokenException ex) {
        ex.printStackTrace();}

1 Ответ

1 голос
/ 21 апреля 2020

попробуйте ниже код:

File file =new File(Environment.getExternalStorageDirectory() + "/Pdfs/yourfile.pdf");
            if (file.exists()) {

                Intent target = new Intent(Intent.ACTION_VIEW);
                target.setDataAndType(Uri.fromFile(file), "application/pdf");
                target.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
                Intent intent = Intent.createChooser(target, "Open File");
                try {
                    activity.startActivity(intent);
                } catch (ActivityNotFoundException e) {
                    // Instruct the user to install a PDF reader here, or something
                } catch (Exception e) {
                    Log.d("mehrdad", "onClick: " + e.getMessage());
                }

            }else {
                Log.d("mehrdad", "onClick: file not found");

            }

если вы хотите открыть PDF в приложении, вы должны использовать Webview

webView.loadUrl("https://docs.google.com/gview?embedded=true&url=" + path);`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...