android - 如何使用我的应用程序在 MS-Excel 或 MS-Word 中打开 excel、doc 文件 - Android

标签 android excel android-intent

我的要求是在我的应用程序中下载和查看 Excel、Doc 文件。所以我在手机存储中下载了 Excel/Doc 文件,并通过传递文件路径调用了 ACTION_VIEW Intent。然后我收到此错误消息“尝试将文件保存在设备上然后打开它。”

This is Error ScreenShot

如果有人能建议我另一种打开 excel 或 doc 文件的方法,我会很高兴。伙计们,到目前为止我已经搜索了很多,但我没有找到解决方案,我确信我已经使用了正确的 Intent 来打开文件。

我的代码在哪里:

Intent intentpdf = new Intent(Intent.ACTION_VIEW);
                intentpdf.setDataAndType(Uri.parse(message), "application/msword");
                intentpdf.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

                try {
                    mactivity.startActivity(intentpdf);
                } catch (ActivityNotFoundException e) {


                    if (!mactivity.isFinishing())
                        Toast.makeText(mactivity, "Install MSWord Viewer.", Toast.LENGTH_LONG).show();

                }


Intent intentpdf = new Intent(Intent.ACTION_VIEW);
                intentpdf.setDataAndType(Uri.parse(message), "application/vnd.ms-excel");
                intentpdf.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

                try {
                    mactivity.startActivity(intentpdf);
                } catch (ActivityNotFoundException e) {


                    if (!mactivity.isFinishing())
                        Toast.makeText(mactivity, "Install Excel Viewer.", Toast.LENGTH_LONG).show();

                }

最佳答案

您需要标志 FLAG_ACTIVITY_NO_HISTORY、FLAG_GRANT_READ_URI_PERMISSION、FLAG_GRANT_WRITE_URI_PERMISSION。

intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION );

关于android - 如何使用我的应用程序在 MS-Excel 或 MS-Word 中打开 excel、doc 文件 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45454938/

相关文章:

vba - Excel通过VBA清除保护/取消保护工作表上的剪贴板,但在使用UI完成时保留它,即审查->保护/取消保护?

android - 如何通过 ContentProvider URI 获取从 Gallery 发送到我的应用程序的视频的实际路径?

c# - Xamarin Android.Speech 识别器 Intent 不会调用 OnActivityResult

android - 在 Asynctask 中执行线程及其并发症

excel - 如何使用公式在excel中创建数字模式

android - 为什么 JavaScript 运行时包含在 Gradle for Android 中?

mysql - 得到 ??从 excel 表中获取汉字并通过 vba 导出到 mysql 时

android - 发短信打开安卓App?

Android SIM 卡监听器

android - 'Accounts & Sync' 中的自定义服务