从原生 iOS 和 Android 应用程序启动到 OutSystem 移动应用程序的特定屏幕
Posted
技术标签:
【中文标题】从原生 iOS 和 Android 应用程序启动到 OutSystem 移动应用程序的特定屏幕【英文标题】:Launch to specific screen of OutSystem mobile app from native iOS and Android app 【发布时间】:2019-06-04 13:09:46 【问题描述】:我是 Outsystems 的新手,我们遇到了一个场景,我们想从我们的原生 ios 和 android 应用程序启动特定屏幕的 Outsystems 移动应用程序。
我们已经使用 corodova 插件将 URL 方案添加到 Outsystems 移动应用程序。还将 LSApplicationQueriesSchemes
添加到我的原生 iOS 应用程序中。 Android 应用仍在开发中。
Outsystems 应用正在从原生 iOS 应用启动,但我们需要将其启动到特定屏幕。我们在 Outsystems 应用中有一个登录页面,我们需要绕过它。
我认为外系统应用程序必须在 URL 或深度链接上工作,但看起来情况并非如此。
你们能帮帮我吗?即使是一个模糊的想法来实现它也会有所帮助。
适用于需要原生代码 (Kotlin) 来启动 Outsystems 应用的 Android 开发者
val packageName = "in.co.companyname.appname"
val context = getActivity()
val pm = context!!.packageManager
val myAction = Uri.parse("in.co.companyname.appname://Module/Screen?parameter1=para1¶meter2=para2")
// Initialize a new Intent
val intent: Intent? = pm.getLaunchIntentForPackage(packageName)
if(intent!=null)
intent!!.setAction(Intent.ACTION_VIEW)
intent!!.setData(myAction)
context!!.startActivity(intent)
else
Toast.makeText(activity!!, "Please install the App", Toast.LENGTH_SHORT).show()
对于 iOS 开发者
UIApplication.shared.open(URL.init(string: "in.co.companyname.appname://Module/Screen?parameter1=para1¶meter2=para2")!, options: [:], completionHandler: nil)
【问题讨论】:
【参考方案1】:This documentation 应该会有所帮助...我已经使用 Android 进行了测试,并且能够成功构建深层链接并将它们编码到 NFC 标签中。
短版:深层链接使用以下语法构造:
<app-identifier>://<module>/<screen>
其中 app-identifier 是您的应用的原生应用标识符,module 和 screen 是您要使用深层链接打开的模块和屏幕名称。
由于我手边没有 iOS 设备,因此无法专门在 iOS 上进行测试。
【讨论】:
只是在这里给我 2 美分:如果语法包含参数(如果适用)会很有帮助。我还要指出这个问题的摘录:“我们在 Outsystems 应用程序中有一个登录页面,我们需要绕过它。”这意味着目标页面应标记为匿名可访问,否则将始终显示登录页面。以上是关于从原生 iOS 和 Android 应用程序启动到 OutSystem 移动应用程序的特定屏幕的主要内容,如果未能解决你的问题,请参考以下文章
如何从原生 iOS 应用程序启动 Unity 3D 应用程序
首次启动时卡在启动屏幕上,但如果我们不终止应用程序并再次启动应用程序,则应用程序可以正常工作。 (反应原生)Android
将现有 PHP/MYSQL/ 网站转换为原生 IOS/Android 应用程序