从浏览器打开意图URL

问题描述 投票:0回答:1

我有一个供移动设备(AndroidiOS)使用的asp经典站点,该站点使用Intent通过javascript调用了本机应用程序。有时它可以工作,而其他时候却无法打开应用程序。在iOS中,它始终有效。通话就像

appNativeName://sign?fileid=yyyyyyy&rtservlet=serverUrl&key=xxxxx

Android是否有对意图URL的控制或验证?

android android-intent
1个回答
0
投票

在要从浏览器的意图过滤器中打开的活动的AndroidManufest.xml中设置:<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="yourscheme"/> </intent-filter>

然后在Activity的onCreate()方法中捕获该意图并执行您想做的所有事情:

val intent = intent
    if (Intent.ACTION_VIEW == intent.action) {
        val uri = intent.data
        if (uri?.host?.matches("something_you_need") == true) {
            doSomething(token)
        } else {
            doSomethingElse()
        }
    }

然后您可以从您的网络中调用类似的内容:yourscheme://something_you_need

© www.soinside.com 2019 - 2024. All rights reserved.