使用自定义URI方案启动Android服务或Android广播接收器

时间:2014-12-02 18:00:06

标签: android broadcastreceiver android-service android-broadcast uri-scheme

我想使用URI方案启动Android服务。这可能吗?

目前我有以下内容:

    <service android:name="com.domain.app.services.MyService" >
        <intent-filter>
            <data android:scheme="myapp1"/>
        </intent-filter>
    </service>
    <receiver android:name="com.domain.app.receivers.MyReceiver" >
        <intent-filter>
            <data android:scheme="myapp2"/>
        </intent-filter>
    </receiver>

但是当我尝试使用浏览器编写cusom URI方案( myapp1:// hello myapp2:// hello )时,启动它们。

有人知道怎么做吗?

1 个答案:

答案 0 :(得分:0)

我认为您必须使用intent-filer with scheme来从浏览器启动应用程序。您可以阅读this tutorial以获取有关清单文件中的实现的更多信息。或this answer

示例代码:

<intent-filter>
   <data android:scheme="myapp1" />
   <action android:name="android.intent.action.VIEW" />
   <category android:name="android.intent.category.DEFAULT"/>
   <category android:name="android.intent.category.BROWSABLE"/>
</intent-filter>

广播接收器(短接收器)是一个Android组件,允许您注册系统或应用程序事件。一旦发生此事件,Android运行时将通知事件的所有已注册接收者。

因此广播接收器用于系统或应用程序事件,而不是您从浏览器启动应用程序。有关Android中广播接收器的更多信息,请阅读this tutorial