【问题标题】:Starting service via "android.intent.action.SEND" intent通过“android.intent.action.SEND”意图启动服务
【发布时间】:2011-11-07 19:33:57
【问题描述】:

我目前有一个具有以下意图过滤器的 Activity 类:

        <intent-filter>
            <action android:name="android.intent.action.SEND"/>
            <category android:name="android.intent.category.LAUNCHER" />
            <data android:mimeType="image/*"></data>
        </intent-filter>

这会导致我的应用程序显示在图库的共享方式菜单中。这一切都很好。

现在,我实际上并不需要让它成为一个 Activity,因为它不需要用户交互。相反,我想把它变成一个服务,通过图库中的 Share-Via 菜单以相同的方式启动。所以我将意图过滤器移到“服务”标签内,例如:

    <service ...>
        <intent-filter>
            <action android:name="android.intent.action.SEND"/>
            <category android:name="android.intent.category.LAUNCHER" />
            <data android:mimeType="image/*"></data>
        </intent-filter>
      </service>

但是,现在我不再在 Share-Via 菜单中看到该应用程序!这是为什么?我需要更改哪些内容才能在 Share-Via 菜单中列出服务?

【问题讨论】:

    标签: android service android-intent


    【解决方案1】:

    这是因为当用户点击分享菜单项时,Android 会调用startActivity() 方法。您可以创建一个透明的活动并从中启动服务。

    【讨论】:

    • 是的,我会同意的。感谢您的回答。
    猜你喜欢
    • 2023-03-22
    • 2017-02-24
    • 1970-01-01
    • 1970-01-01
    • 2011-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多