问题标签 [registerforactivityresult]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
274 浏览

android - 如何测试使用 ActivityResult API 的 Activity?

文档在测试 Fragments 方面非常好,但没有关于如何测试使用 ActivityResult 的 Activity 的信息。

activityResultRegistry我们应该如何在 Activity 测试中覆盖?

0 投票
1 回答
1328 浏览

kotlin - 将多个 Mime 类型传递给 ActivityResultLauncher.launch()

我有以下代码

在其他地方,

我可以成功选择 docx 文件。我需要选择 pdf 或 doc 或 text 或 docx 而只是能够选择一种(此处为 docx)。

0 投票
1 回答
397 浏览

android - Android:片段在活动结果合同中未收到 RESULT_OK

我在我的片段中使用 ActivityResultContract API。Fragment A 在 Activity A 中,从那里调用具有 Fragment B 的 Activity B。 Fragment A 中的代码如下:

这是自定义合同:

whereDataHolder是一个简单的数据类。下面的代码在片段 B 中(在活动 B 中)

问题是 FragmentA 总是收到空 uri。调试后发现返回的 resultCode 始终为RESULT_CANCELED. 我究竟做错了什么?

0 投票
1 回答
257 浏览

android - 如何在 Activity Result API 中设置请求代码?

我正在从 startActivityForResult 迁移到 Activity Result API。我有自定义合同和启动器:

当我开始活动时gameLauncher.launch(0)出现异常

java.lang.IllegalArgumentException:requestCode 只能使用低 16 位

我尝试了具有相同结果的不同输入
显然它希望设置 requestCode。但是 API 没有办法设置它。
我认为这个 API 的主要目的是摆脱凌乱的请求代码

那么如何使用自定义合同开始活动?

0 投票
1 回答
79 浏览

android - 未经许可获取特定联系人的电子邮件地址

我可以使用以下示例片段轻松获取每个联系人的每个电子邮件地址的列表:

问题是,由于我已经有一些关于联系人的信息,有没有办法让我过滤每个联系人的每个电子邮件地址的巨大列表,只显示单个联系人的电子邮件地址?

我注意到从 Intent.ACTION_PICK 返回的 URI 中获取特定的联系信息,但是该信息已经过时了,并且不清楚是否需要 READ_CONTACTS 权限,这是不需要的。

谢谢你。

0 投票
0 回答
173 浏览

android - 在 ActivityResultContract 中获取请求代码的默认方式

是否有任何默认方式来获取请求代码ActivityResultContract

我知道StartActivityForResult合同,它返回ActivityResult,但没有requestCode,只有resultCode

我可以做这样的事情,但也许有更好的解决方案:

0 投票
1 回答
1331 浏览

android - Activity 结果 API 的 ActivityResultLauncher launch() 方法不仅会调用合约的 createIntent() 方法,还会调用 parseResult()

我在 ActivityA 上,尝试使用字符串输入启动 ActivityB,进行一些工作,然后将字符串输出返回给 ActivityA。我根据本教程ActivityResultContract(都在下面列出)创建了 Activity Result API 帮助程序类。我在 ActivityA 的 onCreate() 方法中注册活动结果:

问题是当我调用linkLauncher.execute()方法时,该方法又调用ActivityResultLauncher'slaunch() 方法,这两个合约方法都在 ActivityB 启动之前被调用。

这是我尝试将结果从 ActivityB 返回到 ActiviteA 的方式:

提到的类的列表。

助手类:

这是我的ActivityResultContract

0 投票
3 回答
2252 浏览

android - 如何使用导航组件管理权限请求代码?

如何使用导航组件管理权限请求代码?

我引用了太多的网站和堆栈链接,但都不起作用,仍然显示已弃用的 Waring 在此处输入图像描述

谷歌参考链接: https ://developer.android.com/training/permissions/requesting#manage-request-code-yourself

代码::在片段中使用以下代码

Fragment.kt:完整代码

0 投票
1 回答
327 浏览

android-recyclerview - 从适配器调用时处理折旧的 onActivityResult

这可能是一个愚蠢的问题,但我刚刚开始编程并且已经遇到了这个折旧问题。我有一个带有 Recycler View 适配器的活动,并使用了几个请求代码将带有 Intent 的数据从适配器发送到活动。

例如:

在回收站视图中:

并在活动中:

从活动中调用时,我可以处理折旧

通过声明:

并调用意图:

但是如何从适配器处理它?

0 投票
0 回答
89 浏览

android - 从活动结果中获取意图?

我试图从onActivityResult(ActivityResult result)方法中获取意图 using
Intent intent = result.getData();但返回的结果意图是null
我正在使用registerForActivityResult创建ActivityResultLauncher<Intent>来启动意图,如下面的代码所示