服务启动的意图过滤器

Intent-filter for service start

我想启动一个服务,这个服务基本上就是windowmanager上的一个videoview。我什至想从其他应用程序启动此 videoview 服务。 这是我的代码意图过滤器,不知道我哪里出错了。

  <service android:name=".VideoWindow">
     <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:mimeType="video/*"  />
            <data android:mimeType="application/x-quicktimeplayer*" />
            <data android:mimeType="application/x-mpeg" />
            <data android:mimeType="application/vnd.dvd*" />
            <data android:mimeType="application/vnd.3gp*" />
            <data android:mimeType="application/3gpp*" />
            <data android:mimeType="application/vnd.rn-realmedia*" />
            <data android:mimeType="application/mp4*" />
            <data android:mimeType="application/mpeg*" />
            <data android:mimeType="application/sdp" />
            <data android:mimeType="application/vnd.wap.mms-message"/>
     </intent-filter>
</service>

I want to start this videoview service even from other applications

除非您是编写其他应用程序的人,或者您雇人编写其他应用程序,否则其他应用程序不会启动您的服务。

根据您的 <intent-filter>,我的猜测是您认为如果另一个应用程序在 ACTION_VIEW Intent 上调用 startActivity(),这将启动您的服务。这是不正确的。 startActivity() 开始 activity。它不会启动服务,无论该服务有什么<intent-filter>