如何在Android中阅读/打开PPT文件?

时间:2015-04-02 11:49:48

标签: android ms-office powerpoint

[这个问题可能重复,但我找不到我要找的东西]

[读取] How can we open files like ppt, doc, pps, rtf, etc. in Android?

我有PPT文件。在我的应用程序中,我有一个列表视图,显示我的私人应用程序文件夹中可用的PPT文件列表。点击特定文件,我想打开相应的PPT文件,以便在我的应用程序中阅读。

我正在创建的应用程序就像PPT的集合并逐个阅读它们。

请提供任何API /示例/链接。

2 个答案:

答案 0 :(得分:2)

您需要使用其他应用程序打开您的ppt文件,确保您提供的文件位置可供其他应用程序访问。尝试以下:

 final Uri uri = Uri.fromFile(file); 
    final Intent intent = new Intent(Intent.ACTION_VIEW); 
    intent.setDataAndType(uri, "application/vnd.ms-powerpoint"); 

    PackageManager pm = getPackageManager();
    List<ResolveInfo> list = pm.queryIntentActivities(intent, 0);
    if(list.size() > 0)
       startActivity(context, intent);

可用的应用程序将显示给用户,用户可以选择可以打开的应用程序。

答案 1 :(得分:0)

private void openPPT(final String path) {
    File file = new File(path);
    Uri uri ;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                uri = FileProvider.getUriForFile(context, context.getPackageName() + ".provider", file);
            } else {
                uri = Uri.fromFile(file);
            }

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.setDataAndType(path, "application/vnd.ms-powerpoint");
    intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
    try {
        startActivity(intent);
    } catch (ActivityNotFoundException e) {
        Toast.makeText(this, "Application not found", Toast.LENGTH_SHORT).show();
    }
}