2016-10-15 4 views
1

Я хочу начать сервис, услуга в основном видеовизуется на windowmanager. Я хочу начать эту услугу видеонаблюдения даже из других приложений. Это мой код-фильтр-фильтр, Не знаю, где я ошибся.Intent-filter для запуска службы

<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> 
+0

поэтому вы имеете в виду ** деятельность **, а не ** сервис **? – pskink

+0

Я хочу начать «сервис» из другого приложения. Вот почему я использовал намерения получать данные из других приложений в свое приложение. служба - это просмотр на 'windowmanager', плавающий во всех приложениях. – Naroju

+0

и как «другие приложения» начнут ваш сервис? – pskink

ответ

1

Я хочу начать эту услугу VideoView даже из других приложений

Если вы не один писать те другие приложения, или вы нанимаете человек, чтобы написать эти другие приложения, никаких других приложений будут начните свою службу.

Моя догадка, от вашего <intent-filter>, является то, что вы думаете, что, если другое приложение вызывает startActivity() на качестве ACTION_VIEWIntent, что это будет начать обслуживание. Это неверно. startActivity() начинает деятельность. Он не будет запускать службу, независимо от того, что <intent-filter>, что служба имеет.

+0

Благодарим вас за разъяснения. Да, я думал об этом. Но я не могу начать сервис? – Naroju

+0

@Naroju: Вы можете заставить других разработчиков под дулом пистолета изменить свои приложения, чтобы вызвать 'startService()'. Или вы можете изменить свое приложение, чтобы активность 'Theme.Translucent.NoTitleBar' имела ваш' <фильтр-замысел> 'и передала ему эту услугу. – CommonsWare

+0

Да. вот что я сделал. Я сделал прозрачную деятельность без макета, который запускает сервис и убивает активность после запуска службы. – Naroju