用于服务启动的意图过滤器

时间:2016-10-15 11:51:41

标签: android android-intent android-service intentfilter

我想开始一项服务,该服务基本上是windowmanager上的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>

1 个答案:

答案 0 :(得分:1)

  

我想从其他应用程序开始这个视频服务

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

我的猜测是,您认为,如果其他应用在<intent-filter> startActivity()上呼叫ACTION_VIEW,则会启动您的服务。Intent这是不正确的。 startActivity()开始活动。无论服务具有<intent-filter>,它都不会启动服务。