在Android中创建自定义URL协议

时间:2014-06-04 07:55:51

标签: android

如何在Android中创建自定义协议?

我试过这段代码:

<activity android:name=".MyActivity" android:label="@string/app_name">
<!-- open the app when a foo://www.example.com link is clicked -->
<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.BROWSABLE" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:scheme="foo" />
</intent-filter>

 在Manifest文件中注册并在浏览器中调用,如foo:// hello,但它不会打开我的应用程序。

1 个答案:

答案 0 :(得分:0)

我记得有一段时间有类似的problem。希望我的解决方案能帮助您解决问题。 添加android:exported="true"并移动<data android:scheme="foo" /> 在顶部。

<activity android:name=".MyActivity" android:label="@string/app_name"
android:exported="true">
<!-- open the app when a foo://www.example.com link is clicked -->
<intent-filter>
    <data android:scheme="foo" />

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