在我的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);
答案 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);