android - 谷歌地图关闭后开始活动
问题描述
在我的应用程序中,当单击按钮时,它使用以下代码将用户重定向到移动设备上的谷歌地图应用程序
Uri gmmIntentUri = Uri.parse("google.navigation:q=" + a + "," + b);
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
现在我想要的是当用户关闭谷歌地图/返回到我的应用程序时,它应该启动一个不同的活动,而不是它留下的那个。是否有可能做到这一点?我已经使用延迟来启动辅助活动,但它没有给出我需要的结果,因为有时它会在谷歌地图应用程序上运行。我对 Android 工作室完全陌生。
编辑- onSaveInstanceState 是克服此问题的一种可能方法吗?
解决方案
在谷歌文档中有一个方法:startActivities(Intent[] intents, Bundle options)
我个人以前从未使用过它,但似乎是您想要的。这是代码。我试过了,它奏效了。它在 Kotlin 中,但您可以用 Java 重新编写它。注意:确保将地图活动作为数组中的第二个开始。
val gmmIntentUri = Uri.parse("google.navigation:q=$a,$b")
val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
mapIntent.setPackage("com.google.android.apps.maps")
val i = Intent(this, SecondActivity::class.java)
val intents = arrayOf(i, mapIntent)
startActivities(intents, null)
推荐阅读
- git - git diff - 将索引与 HEAD 进行比较?暂存区和 HEAD 呢?
- python - 尝试拆分字符串,但我不断收到此错误:“类型错误:必须是 str 或 None,而不是列表”
- python - 如何每60秒刷新一次python tkinter窗口的内容
- multithreading - 是否可以在 boost::asio 中更改套接字的 io_context?
- sql - 双精度默认 0 不为空
- python - 将自定义小部件添加到 pyqt5 中的 QScrollArea 不会使滚动条出现
- build - premake5 是否可以在没有工作空间的情况下生成项目?
- openlayers - OpenLayers 基本标记
- node.js - 如何从猫鼬访问解析器上下文?
- powershell - Powershell Neo4j 连接 Invoke-RestMethod