【发布时间】:2013-05-04 05:18:51
【问题描述】:
我想添加一个自定义 mime,以便我的 Android 服务或 BroadcastReceiver 能够检测到我的自定义文件。 我看过How to add custom mime type? 和How to add custom mime type? 等问题的答案
这里的答案是针对一个活动显示的。但是 service 或者 BroadcastReceiver 需要做哪些修改呢?我为他们尝试了相同的代码,但它不起作用。 我是android开发的新手。欢迎提供一些漂亮而详细的解释。可能吗? 我哪里错了。
我使用的代码是:
<service android:name="XcardReceivedService"
android:exported="true"
android:enabled="true">
<intent-filter>
<!-- <action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
-->
<data android:scheme="file" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.Xcard" />
<data android:host="*" />
</intent-filter>
</service>
【问题讨论】:
-
您几乎从不将 MIME 类型用于服务或广播接收器。您能否完整解释一下“检测我的自定义文件”是什么意思?
-
我对 android 非常陌生。我在我的 SD 卡上创建了一个名为 "card.Xcard" 的文件。我想在用户单击该文件时开始一项活动。但在活动开始之前,我想将该文件中的数据添加到数据库中。为此,我想编写一个服务或广播接收器。
-
我想在添加到数据库的数据的活动中显示详细信息。还有其他可能的方法吗?可以以这种方式实现它:假设我有活动 A,它显示数据库中的数据。它可以由来自其他活动的意图或当用户单击“.Xcard”类型的文件时启动。但是,那么我应该如何区分“活动的启动方式”与其他活动或用户单击此文件时的区别。
-
因为当activity A从其他activity启动时,它只需要从数据库中获取数据并显示,但是当它必须在用户点击文件时启动时,它首先必须更新数据库,然后显示
标签: android service broadcastreceiver android-manifest intentfilter