Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何为应用程序深度链接创建超链接文本_Javascript_Android_Android Intent_Deep Linking_Android Sharing - Fatal编程技术网

Javascript 如何为应用程序深度链接创建超链接文本

Javascript 如何为应用程序深度链接创建超链接文本,javascript,android,android-intent,deep-linking,android-sharing,Javascript,Android,Android Intent,Deep Linking,Android Sharing,实际需求 点击共享按钮 生成文本/url/链接 通过whatsapp/fb/twitter/email等与其他用户分享 单击此链接后,我的应用程序将打开,并在链接中传递数据 类似于youtube链接,如: 到目前为止做了什么… 我有一个字符串形式的deeplink URL。 当我在浏览器上以超链接的形式访问它,并且我的应用程序正确打开时,它可以完美地工作。 我需要创建这个URL字符串作为超链接,可以从应用程序本身在其他应用程序之间共享 使用以下代码生成共享链接 Intent shareIn

实际需求

  • 点击共享按钮
  • 生成文本/url/链接
  • 通过whatsapp/fb/twitter/email等与其他用户分享
  • 单击此链接后,我的应用程序将打开,并在链接中传递数据
  • 类似于youtube链接,如:

到目前为止做了什么…

我有一个字符串形式的deeplink URL。
当我在浏览器上以超链接的形式访问它,并且我的应用程序正确打开时,它可以完美地工作。
我需要创建这个URL字符串作为超链接,可以从应用程序本身在其他应用程序之间共享

使用以下代码生成共享链接

Intent shareIntent = new Intent(Intent.ACTION_SEND);
        shareIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
        shareIntent.setType("text/plain");
        shareIntent.putExtra(Intent.EXTRA_SUBJECT, "MyAPPLink");
        shareIntent.putExtra(Intent.EXTRA_TEXT, url); //String deeplink url
        return shareIntent;
我可以与其他应用程序共享文本,但它不是链接,而是纯文本。
如何将其设置为超链接,以便当用户将其共享到其他应用程序时,其他用户可以单击该链接并打开该应用程序并在链接中传递数据

更新
以下是deeplink url格式
url=intent://#intent;方案=;包=;S.browser_fallback_url=;结束

更新2
我已经创建了一个指向我的网站的链接,并附加了我的deeplink数据

我上传了一个没有UI的HTML文件,使用JS我可以在脚本中获取我的ID。
现在,当脚本运行时,我的应用程序不会启动,而是转移到备用url

如果我在HTML中放置一个按钮,然后单击该按钮运行脚本,我的应用程序就会启动


如何从生成的共享文本启动我的应用程序???

我想我已经解决了这个问题。它现在在我的设备上工作,默认使用chrome浏览器。需要使用其他组合进行测试

问题在于JS。我将重定向调用放在setTimeout()中,它成功了

以下是逻辑流程

  • 在清单中使用scheme、view action和browsable+默认类别创建意图过滤器
  • 创建共享意图并将额外文本设置为
  • 创建一个空HTML文件,使用JS获取查询并提取“id”
  • 现在使用setTimeout()调用重定向深度链接URL-->intent://#intent;方案=;包=;S.browser_fallback_url=;结束
  • 在向deeplink公开的活动中,从intent获取dataString并提取deeplink传递的ID

我希望这对其他人有所帮助:)

url只是文本。这取决于接收它的应用程序来决定如何处理它。我们可以查看HTML/JS重定向文件的内容吗?你也可以去看看,从那以后你就不必担心所有这些技术问题了。我浏览了Branch.io,不确定它是免费的还是付费的!!我正在尝试学习新的技能,所以我更喜欢自己的逻辑:)HTML脚本是我为客户端制作的,需要删除很多不需要的代码。我很快就会把JS的代码片段放进去。请查看youtube如何共享其链接。需要类似的方法。分支完全免费:)。学习一项新技能是一个很棒的想法,尽管老实说,处理所有深度链接边缘案例是目前最复杂的事情之一。甚至像Pinterest和HotelTonight这样的大人物也使用Branch。如果我点击浏览器中的链接,我就可以打开我的应用程序。。但不是来自其他应用程序:(