2016-10-15 3 views
1

서비스를 시작하려면 서비스는 기본적으로 windowmanager의 비디오 뷰입니다. 다른 응용 프로그램에서도이 비디오 뷰 서비스를 시작하고 싶습니다. 이것은 내 코드 의도 필터입니다. 어디서 잘못되었는지 모르겠습니다.서비스 시작을위한 의도 필터

<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

다른 응용 프로그램에서'service'를 시작하고 싶습니다. 그래서 다른 앱의 데이터를 내 앱으로 가져 오는 의도를 사용했습니다. 이 서비스는 모든 응용 프로그램에 떠있는'windowmanager' 뷰입니다. – Naroju

+0

과 "다른 앱"이 서비스를 시작하는 방법은 무엇입니까? – pskink

답변

1

나는 당신이 그 다른 응용 프로그램을 작성하는 사람, 또는 당신이 다른 응용 프로그램을 것 그 다른 응용 프로그램을 작성하는 사람을 고용하지 않는 한 다른 응용 프로그램

에서조차 VideoView를 지켜 보면서 서비스를 시작하려면 당신의 서비스를 시작하십시오.

내 생각 엔, 당신의 <intent-filter>에서, 다른 응용 프로그램은, ACTION_VIEWIntentstartActivity()를 호출하는 경우이 서비스를 시작할 것이라고 생각한다는 것입니다. 이것은 잘못되었습니다. startActivity()는 활동을 시작합니다. 서비스에 관계없이 <intent-filter>에 관계없이 서비스가 시작되지 않습니다.

+0

설명해 주셔서 감사합니다. 그래, 그런 식으로 생각했다. 하지만 서비스를 시작할 수있는 방법은 없습니다. – Naroju

+0

@Naroju : gunpoint에있는 다른 개발자가 자신의 앱을 변경하여 'startService()'를 호출하도록 할 수 있습니다. 또는'Theme.Translucent.NoTitleBar' 액티비티에''를 갖도록 앱을 변경할 수 있습니다. 그리고 그 서비스에 작업을 위임하게 할 수 있습니다. – CommonsWare

+0

예. 그게 내가 한 일이야. 나는 서비스가 시작된 후 서비스를 시작하고 활동을 중단시키는 레이아웃없이 투명한 활동을했다. – Naroju