在主屏幕上创建快捷方式以打开PDF文件

时间:2017-02-12 15:04:25

标签: android

在我的Android应用程序中,我想让用户在主屏幕上创建一个快捷方式,打开位于特定位置的PDF文件。在我的研究中,我发现我们可以创建开放特定活动的快捷方式。但在我的情况下,我需要使用任何已安装的PDF阅读器打开一个特定的PDF文件。

我知道与Intent有关。谢谢你的帮助。

编辑1:这是我尝试过的代码。它不会打开文件,而是打开应用程序。请告诉我出了什么问题。

File file = new File(Environment.getExternalStorageDirectory()+"/CDLU Mathematics Hub","Time Table For Even Semesters (2017).pdf");
        Uri path = Uri.fromFile(file);
        Intent shortcutIntent = new Intent(getApplicationContext(), Home.class);
        shortcutIntent.setAction(Intent.ACTION_MAIN);
        shortcutIntent.setDataAndType(path, "application/pdf");
        Intent addIntent = new Intent();
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "TimeTable");
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
                Intent.ShortcutIconResource.fromContext(getApplicationContext(),
                        R.drawable.icon));
        addIntent.putExtra("duplicate", false);
        addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
        getApplicationContext().sendBroadcast(addIntent);

1 个答案:

答案 0 :(得分:0)

感谢@CommonsWare,我明白了。这是代码:

File file = new File(Environment.getExternalStorageDirectory()+"/Folder Name","File Name.pdf");
        Uri path = Uri.fromFile(file);
        Intent shortcutIntent = new Intent(Intent.ACTION_VIEW);
        shortcutIntent.setDataAndType(path, "application/pdf");
        Intent addIntent = new Intent();
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "TimeTable");
        addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
                Intent.ShortcutIconResource.fromContext(getApplicationContext(),
                        R.drawable.
        addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
        getApplicationContext().sendBroadcast(addIntent);