如何从 Android 中的另一个应用程序打开 Google 课堂特定课程

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

我可以从我的应用程序中打开特定课程的 Google 课堂应用程序吗?

在 iOS 中,例如对于 Web URL

https://classroom.google.com/c/BlahBlahBlah
,如果已安装,SwiftUI Link() 将在 Google Classroom 应用程序中打开课程,否则,将在网络浏览器中打开,因为
https://classroom.google.com/
具有
apple-app-site-association
,即 https://classroom.google。 com/apple-app-site-association

如何在 Android (Jetpack Compose) 中执行相同的场景?

首先,我尝试过:

val uriHandler = LocalUriHandler.current
uriHandler.openUri("https://classroom.google.com/c/BlahBlahBlah")

但无论是否安装 Google Classroom 应用程序,它都会打开网络浏览器。

所以,我尝试按照如何以编程方式在Android应用程序中打开谷歌教室

val ctx: Context = LocalContext.current
val pkgMgr: PackageManager = ctx.packageManager

val pkgName: String = "com.google.android.apps.classroom"

// Check if installed
try {
   pkgMgr.getPackageInfo(pkgName, 0)
} catch (...) { ... }

val launchIntent = pkgMgr.getLaunchIntentForPackage(pkgName)
ctx.startActivity(launchIntent)

现在,如果安装了 Google Classroom,它会打开,但不会导航到相应的课程。

我怎样才能实现这个目标?

我做了一些无望的随机尝试,比如

launchIntent?.putExtra("id", "BlahBlahBlah") 

launchIntent?.data = Uri.parse("https://classroom.google.com/c/BlahBlahBlah")

但运气不佳。

我还尝试找到一种方法来构建深度链接以在 Google Classroom 应用程序中打开特定课程,但不知道。

即使场景略有不同,任何建议也将不胜感激。

谢谢。

android android-intent google-classroom android-deep-link
1个回答
0
投票

应用程序应该随您拥有的内容一起启动。使用 android 应用程序链接 应该很简单。

val myIntent = Intent(Intent.ACTION_VIEW, Uri.parse("https://classroom.google.com/c/BlahBlahBlah"))
startActivity(myIntent)

我的猜测是谷歌没有正确配置他们的关联(如果属实的话就很讽刺了)。将 URL 替换为您设备上的其他主流应用程序,您可能会看到所需的应用程序打开。

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