2011-08-31 91 views
3

我現在有一個具有以下意圖過濾器的Activity類:啓動服務「android.intent.action.SEND」意圖

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

這導致我的應用程序中共享,通過菜單來顯示來自畫廊。這一切都很好。

現在,我實際上並不需要這是一個活動,因爲它不需要用戶交互。相反,我想將其製作成一個服務,該服務以相同方式由Gallery中的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菜單中列出服務?

回答

5

這是因爲Android在用戶點擊共享菜單項時調用startActivity()方法。您可以創建一個透明的活動並從中啓動服務。

+0

是的,我會去那。感謝你的回答。 – user914453