相关疑难解决方法(0)

如果不存在,如何以编程方式下载adobe reader

现在我正在开发一个应用程序.通过我的应用程序用户可以阅读pdf文件,如果没有pdf阅读器,那么我的应用程序将自动从网站安装它.这是我用来阅读pdf文件的代码.

File file = new File("/sdcard/sample.pdf");
PackageManager packageManager = getPackageManager();
Intent testIntent = new Intent(Intent.ACTION_VIEW);
testIntent.setType("application/pdf");
List list = packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY);
if (list.size() > 0 && file.isFile()) {
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_VIEW);
    Uri uri = Uri.fromFile(file);
    intent.setDataAndType(uri, "application/pdf");
    startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)

我的怀疑是:

  1. 如何检查手机中是否安装了adobe reader?
  2. 如何以编程方式在手机上安装Adobe阅读器?

android

6
推荐指数
1
解决办法
3512
查看次数

以编程方式打开 pdf 文件

我正在处理pdf。我正在尝试使用下面的代码从我的应用程序打开 pdf 文件。但我没能打开。

private void openPdf() {

        File file = new File("mnt/sdcard.test.pdf");
        Uri path = Uri.fromFile(file);
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.setAction(Intent.ACTION_VIEW);
        intent.setData(path);
        intent.setType("application/pdf");
        try {
            startActivity(intent);
        } catch (ActivityNotFoundException e) {
            Toast.makeText(getActivity(), "No application found",
                    Toast.LENGTH_SHORT).show();
        }
    }
Run Code Online (Sandbox Code Playgroud)

当我在模拟器中尝试此代码时,它显示一个 toast 说“未找到应用程序”(bcoz,通常模拟器中没有安装 pdf 查看应用程序)。当我在设备中测试相同的东西时(特别是在 funbook 选项卡和 sony 选项卡中),它既不显示 Toast 消息,也不打开 pdf 文件。任何人都可以指出我的代码中的错误。事实上,我是第一次使用 pdf。所以我的问题是,

  1. 在设备中它没有显示 toast 消息,这意味着我的手机中安装了 pdf 查看应用程序?这样对吗?
  2. 如果是这样,为什么不使用第三方应用程序打开 pdf 文件。
  3. 如果我想向用户列出手机中安装的所有 pdf 查看应用程序,我应该对此代码进行哪些更改?

android

5
推荐指数
1
解决办法
4万
查看次数

标签 统计

android ×2