繁体   English   中英

Android - 将 .ics 文件提交到日历应用程序

[英]Android - submitting .ics file to calendar app

我有一个日历应用程序(Samsung 默认在 Note 3 / Lollipop 上),当我打开它时,它会被调用并正确插入 downloaded.ics 文件的内容。 我试图找到正确的意图 setAction 和 setType 值以从自定义应用程序中提交文件。 一个“几乎在那里”的解决方案似乎分别是 ACTION_VIEW 和文本/日历 - 日历应用程序短暂出现,但没有完成插入。 代码片段如下:

intent.setDataAndType(Uri.fromFile(文件),“文本/日历”); intent.setAction(Intent.ACTION_VIEW);

有无数使用 vnd.android.cursor.item/event 类型的附加数据的例子,但我还没有找到这个方法的答案。 有谁知道三星(或就此而言,Gmail)日历的意图构成?

我刚刚尝试过这个并且它有效:记住在清单中添加东西并创建 FileProvider( android.os.FileUriExposedException:file:///storage/emulated/0/test.txt 通过 Intent.getData() 暴露在应用程序之外

    try {
                var i = Intent(Intent.ACTION_VIEW);
                val fileUri = FileProvider.getUriForFile(
                    this,
                    BuildConfig.APPLICATION_ID + ".provider",
                    file
                )
                Log.d("Uri: {}", fileUri.toString())
                i.setDataAndType(fileUri, "text/calendar")
                i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
                i.addFlags(FLAG_GRANT_READ_URI_PERMISSION)
                startActivity(i)
                Log.d("Open App:", "File opened successfully")
            } catch (e: Exception) {
                Log.d("Open App:", e.message.toString())
                Toast.makeText(this,"There was an error while opening the file",Toast.LENGTH_SHORT).show();
            }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM