我的项目有两个活动。用以下代码启动第二个活动:
private val secondActivityLauncher = registerForActivityResult(SecondActivity.Contract()) {
when (it) {
is SecondActivity.SecondActivityOutput.Success -> {
// TODO
}
// ...
}
}
如果满足了某个条件,第二活动
将结果设置为代码:
setResult(Activity.RESULT_OK, Intent().putExtra("MY_DATA_EXTRA", "some data"))
如果不满足条件,SecondActivity
返回Activity.RESULT\u cancelled
code。
这在所有情况下都可以正常工作,除了一种情况:当第二个活动必须启动一个新的意图(例如打开浏览器或深度链接),同时完成自己并传播活动。RESULT_OK
结果为Main Active
。
我试过这个:
kotlin prettyprint-override">setResult(Activity.RESULT_OK, Intent().putExtra("MY_DATA_EXTRA", "some data"))
finish()
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("https://www.google.com")))
但不是这样的。当用户关闭web浏览器活动时,Activity.RESULT\u OK
值仅传递给MainActivity
。
是否可以这样实现:SecondActivity
首先将结果返回到MainActivity
,然后才启动浏览器?
收到结果后,您可以在main活动
中移动浏览器开口:
private val secondActivityLauncher = registerForActivityResult(SecondActivity.Contract()) {
when (it) {
is SecondActivity.SecondActivityOutput.Success -> {
if (it.resultCode == Activity.RESULT_OK) {
// Get the result data
const data = it.data?.getStringExtra("MY_DATA_EXTRA")
// Open the browser
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("https://www.google.com")))
}
}
// ...
}
}
我最近实现了shouldInterceptRequest方法来检测链接的时间“http://sitemercado.com.br/valida“点击在android浏览器中打开它,而不是在webview中内部打开,直到它工作为止。链接在浏览器中打开,但当我回来查看webview应用程序时,它也被加载了,我希望它只在浏览器中加载。 我的代码如下: 我哪里做错了?
大家好,我有一个TestNG测试套件,它按顺序执行测试。但在它开始运行测试之前。它打开所需数量的浏览器,然后逐个运行测试。我想将此行为更改为打开一个浏览器,运行test/s并关闭浏览器。然后打开另一个浏览器,运行test/s并关闭,依此类推。这可能吗? 我在IntelliJ上使用TestNG,JAVA。示例测试套件: 所有的测试都继承了主类,它有@BeforeClass和@AfterClass方法
深度链接在android中不起作用。我已经把清单代码贴在这里了。当我测试时,它会进入网站,而不会在我的应用程序中打开我的活动。谁能帮我修一下吗? 更新: adb shell am start-W-aandroid.intent.action.VIEW-d"http://www.clinicloud.com/xyz"com.clinicloud.app 使用adb进行测试会打开应用程序,但仅使用浏览
我试图编写一个函数,它将接收一个“浏览器实例”(我指的是),并打开一个带有特定URL的新选项卡。 这是函数: 返回True(如果URL有效) 如果有人能告诉我我做错了什么,我将非常感激。如果您有其他方法来完成打开新选项卡的任务,这是可以的。顺便说一下,我曾尝试使用:,但没有成功(我没有得到新的选项卡,也没有异常)
我想通过浏览器打开下载的html文件,将它们传递给意图并从我的活动中启动它们。 我知道关于这个问题有十几条线索(例如this)。 然而,这些方法似乎都不起作用。 到目前为止,我已经: 我尝试设置mimeypes,如text/html,添加/删除类别,甚至使用多重mimetype和额外的mimetype标志,但这些想法都不适合我。 当前将打开一个“默认”浏览器,该浏览器无法显示文件。我想在Chrom
问题内容: 是否有任何(简单/内置方式)打开新浏览器(我的意思是默认的OS浏览器)窗口来查找Electron链接的方法,而不是访问您Electron应用程序中的链接? 问题答案: 您可以简单地使用: