【问题标题】:Catching customurlscheme in android app?在 android 应用程序中捕获 customurlscheme?
【发布时间】:2017-10-31 01:49:01
【问题描述】:

目前使用CustomTabs/Native UI 和Xamarin.Auth 通过自定义Web API 向Google 验证Android 应用程序(我无法编辑/更改Web API)。是否可以拦截 url (https) 并在到达该 url 后返回应用程序?或者由于 chrome 已经打开,这不适用于自定义标签?

意图过滤器代码:

[
    IntentFilter
    (
        actions: new[] { Intent.ActionView },
        Categories = new[]
                {
                    Intent.CategoryDefault,
                    Intent.CategoryBrowsable
                },
        DataSchemes = new[]
                {
                    "https://redirectwebsite.com/"
                },
        DataPath = "https"
    )
]

【问题讨论】:

    标签: c# android xamarin url-scheme


    【解决方案1】:

    Brian 我们不是在社区闲暇时交流吗?

    请救救我。 slack(3 个团队)、论坛、SO 和 github 之间的上下文切换让我很烦,我不是 i7。

    您发布的代码中有一堆错误:

    1. 这不是 DataScheme,而是 DataScheme 中的 URL/URI/URN,对于这种情况,它应该只是 https。但对于原生 ui,这是不对的,因为您需要自定义方案。

    "https://redirectwebsite.com/"

    是的,有教程可以在 Android 上使用 http[s] 进行深度链接(应用链接),但我无法做到。

    请制作最少的样本,让我很高兴(学习一些东西)。

    【讨论】:

    • 是的!我们确实在 slack 上进行交流,我目前正在研究一些关于应用程序链接的教程(没有运气),如果我能让它工作,我会在 slack 上发布一些东西
    • 酷。我也试过了,但不能浪费太多时间。我无法让 http[s] 方案 [s] 工作。也许 DataHosts 和 DataPaths 可以帮助更好地过滤它,但我认为问题出在方案本身。
    【解决方案2】:

    解决方案: 我能够通过更改我的意图过滤器成功导航回我的 android 应用程序并获取令牌信息:

     [IntentFilter
        (
        actions: new[] { Intent.ActionView }, 
        Categories = new[] { Intent.CategoryDefault, Intent.CategoryBrowsable },
        DataSchemes = new[] { "https" }, 
        DataHost = "redirectwebsite.net",
        DataPath = "/", 
        AutoVerify = true
        )
    ]
    

    【讨论】:

      猜你喜欢
      • 2011-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多