我正在开发一个具有自己的 URI 前缀的应用程序。 (在这种情况下为 dchub://)
到处搜索并阅读了很多,但我有点困惑。
当有人在浏览器中单击以 dchub://
开头的链接时,是否可以启动我的应用程序?
到目前为止,我找到了很多关于从您的应用程序打开浏览器的其他方式的示例,但这不是我要找的。p>
更新
非常感谢,我已经明白了,现在我有点卡在下一部分了。
Uri data = getIntent().getData();
if (data.equals(null)) { } else {
String scheme = data.getScheme();
String host = data.getHost();
int port = data.getPort();
}
如果我正常启动应用程序,我会得到一些nullpointerexception
,如果我从网页打开,它工作正常。所以我想让我们包括一些空值检查,但这并没有解决它。有什么建议我可以通过选择它来启动应用程序吗?
最佳答案
要在您的 Android 应用程序中注册一个协议(protocol),请向 AndroidManifest.xml 添加一个额外的 block 。
<manifest>
<application>
<activity>
<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:scheme="dchub"/>
</intent-filter>
</activity>
</application>
</manifest>
关于android - 如何监听自定义 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3471503/