Android:如何将 ics 文件发送到 Phone 上的应用程序

Android: How to send an ics File to apps on the Phone

我正在 Activity 中创建一个 .ics 文件。我想将创建的 .ics 文件发送到 phone 上的日历应用程序,以便该应用程序可以导入事件。

这是我的 Intent 代码:

`Intent intent = new Intent(Intent.ACTION_SEND);
        intent.addCategory(Intent.CATEGORY_APP_CALENDAR);
        intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(icsfile));
        startActivity(Intent.createChooser(intent, "How do you want to share?"));`    

遗憾的是,选择器中未显示任何日历应用程序。

Google日历,至少不支持响应ACTION_SEND

所以,尝试:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(icsfile), "application/ics");
startActivity(intent);

(并且最终切换到使用 FileProvider 而不是 Uri.fromFile(),因为对于 targetSdkVersion 的应用程序,这在 Android 7.0+ 上不起作用23 或更高)