Android 为服务指定发送(共享)意图筛选器
我正在尝试使用Android 为服务指定发送(共享)意图筛选器,android,android-intent,android-manifest,intentfilter,android-sharing,Android,Android Intent,Android Manifest,Intentfilter,Android Sharing,我正在尝试使用android.intent.action.SEND在我的Services中过滤和处理意图。我在我的AndroidManifest.xml中写了以下内容: <service android:name=".app.ScreamerService" android:label="@string/app_name" > <intent-filter> <action android:name="android.int
android.intent.action.SEND在我的Service
s中过滤和处理意图。我在我的AndroidManifest.xml
中写了以下内容:
<service
android:name=".app.ScreamerService"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="*/*"/>
</intent-filter>
</service>
现在的问题是,我在“通过共享”选项列表中看不到我的应用程序,例如,尝试从浏览器共享网页或从联系人列表中共享联系人时。但是,如果我将意向过滤器移动到主
标记(而不是
),则我的应用程序名称和图标不会出现在“通过共享”选项列表中
我做错了什么?不能将发送操作定向到服务吗?这应该可以,但是:
首先尝试使用广播接收器以获得目的并启动您的服务
如果这不起作用:
使用没有布局的虚拟活动。(使主题半透明,并在处理意图后立即调用finish)
此外,mime类型意味着您正在处理每一种文件类型。这就是你需要的吗?我认为你应该在选择上更加精确。如果有人试图将它与你不支持的类型一起使用,你会得到负面反馈。我的建议是测试类型并逐个添加,因为您有信心能够处理它们
我正在尝试在我的一个服务中使用android.intent.action.SEND actions过滤和处理意图
操作\u发送
是一项活动操作,因此服务或广播接收器无法接收
现在的问题是,我没有在“通过共享”选项列表中看到我的应用程序,例如
这是因为它不是一项活动
不能将发送操作定向到服务吗
选择器中出现的内容(例如,forACTION\u SEND
)必须是活动。不过,欢迎您的活动与服务进行交流