从移动浏览器调用Android服务

时间:2013-03-25 14:23:05

标签: android android-manifest android-service mobile-browser

当用户点击网页上的按钮时,我必须启动服务。 我知道可以通过在清单中添加它来对活动执行此操作:

<activity
    android:name="MyActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <data android:scheme="myscheme" /> 
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

我的想法是为服务做同样的事情:

<service
        android:name="MyService"
        android:enabled="true"
        android:exported="true" >
        <intent-filter >
            <data android:scheme="myscheme"/>
            <category android:name="android.intent.category.BROWSABLE"/>
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </service>

但它不起作用。

那么可以从浏览器调用该服务,该怎么办? 如果没有,我该怎么办(当用户点击网页按钮时,我不希望显示应用程序视图)?

1 个答案:

答案 0 :(得分:3)

  

所以可以调用服务

不,除非通过启动活动并让该活动对您的服务做一些事情。

  

(我不想在用户点击网页按钮时显示应用程序视图)?

我们欢迎您创建一个Theme.NoDisplay活动,从startService()调用onCreate(),然后立即拨打finish()