Android开发-将自己的应用程序添加到;共享vCalendar“;

Android开发-将自己的应用程序添加到;共享vCalendar“;,android,calendar,Android,Calendar,我正在尝试将自己的应用程序添加到日历的“共享通过”菜单中,方法是将意图过滤器添加到 manifest.xml: <intent-filter> <action android:name="android.intent.action.SEND" /> <action android:name="android.intent.action.SENDTO" /> <category android:name="android.inten

我正在尝试将自己的应用程序添加到日历的“共享通过”菜单中,方法是将意图过滤器添加到 manifest.xml:

<intent-filter>
    <action android:name="android.intent.action.SEND" />
    <action android:name="android.intent.action.SENDTO" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="text/x-vCalendar" />
</intent-filter>

它可以在三星手机上正常工作,但在HTC上不行。 我需要做什么才能让它在HTC手机上正常工作


谢谢

尝试切换到更流行的iCalendar格式,并使用
文本/日历
作为MIME类型。

尝试切换到更流行的iCalendar格式,并使用
文本/日历
作为MIME类型。

我认为您没有遗漏任何内容。我和你在我们的手机上一样试过了,成功了。我们发现Android source在通过Gmail共享事件时在日历中有一个bug——Gmail将挂起,因为它没有读取日历的权限。检查我们的参考HTC手机,发现他们已经删除了Gmail选项并添加了电子邮件。
我猜HTC的工程师在共享日历时使用的是硬编码菜单,而不是CreateCooser。这可能会导致您的程序未显示在列表中。

我认为您并没有遗漏任何内容。我和你在我们的手机上一样试过了,成功了。我们发现Android source在通过Gmail共享事件时在日历中有一个bug——Gmail将挂起,因为它没有读取日历的权限。检查我们的参考HTC手机,发现他们已经删除了Gmail选项并添加了电子邮件。
我猜HTC的工程师在共享日历时使用的是硬编码菜单,而不是CreateCooser。这可能会导致您的程序未显示在列表中。

我发现HTC使用专有的intent“android.intent.action.LAUNCH_MSG_COMPOSE”通过..共享vCard

我发现HTC使用专有的intent“android.intent.action.LAUNCH_MSG_COMPOSE”通过..

共享vCard!约翰找到了真正的原因——HTC将目标从发送改为发布消息。这是一种避免Gmail bug的方法。哇!约翰找到了真正的原因——HTC将目标从发送改为发布消息。这是一种避免Gmail bug的方法。