更新nativescript文件夹后,我的Android手机中未创建文件

时间:2019-08-29 12:22:42

标签: nativescript

我可以创建一个文件夹(如果该文件夹不存在),然后将新写入的文件以前保存在该文件夹中。但是更新为最新的本机脚本后,相同的代码无法正常工作,并且无法正确给出错误。

我也遇到错误

  

错误:android.util.AndroidRuntimeException:从Activity上下文外部调用startActivity()需要FLAG_ACTIVITY_NEW_TASK标志。 >这真的是您想要的吗?

        const fileSystemModule = require("tns-core-modules/file-system");
        const documents = fileSystemModule.knownFolders.documents();
        documents._path = "/storage/emulated/0/";
        const folder = documents.getFolder('Reports/sample/');
        const file = folder.getFile('fileName.xlsx');

        file.writeText(viewModel.get("fileTextContent") || html_content)
            .then((result) => {
                return file.readText()
                    .then((res) => {
                        var toast = Toast.makeText("Exported to Excel Succesfully");
                        toast.show();
                        return res;
                    });
            }).then((result) => {
                console.log("---result---");
                console.log(result); // im getting result, a html string
                var intent = new android.content.Intent(android.content.Intent.ACTION_VIEW);
                intent.setDataAndType(android.net.Uri.fromFile(new java.io.File(file._path)), "application/vnd.ms-excel");
                application.android.context.startActivity(android.content.Intent.createChooser(intent, "Open Excel..."));
            }).catch((err) => {
                console.log(err);
            });

在更新之前,它工作正常。但是现在我不知道发生了什么事。

1 个答案:

答案 0 :(得分:0)

这是Android本身的一项新要求。您必须在意图中添加FLAG_ACTIVITY_NEW_TASK标志。

  

在Android 9中,除非传递意图标志FLAG_ACTIVITY_NEW_TASK,否则您无法从非活动上下文中启动活动。如果您尝试在未传递此标志的情况下启动活动,则该活动不会启动,并且系统会在日志中显示一条消息。

intent.addFlags(android.content.Intent.FLAG_ACTIVITY_NEW_TASK);