问题标签 [activity-result-api]

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 投票
0 回答
87 浏览

android - 当Activity覆盖`onActivityResult`方法时如何在片段中使用ActivityResult API

我正在使用带有 ReactNavtive 的新ActivityResultApi 。

ReactActivity 覆盖onActivityResult方法。

我的片段代码

我怎样才能在这里得到回调?

我正在研究的一个解决方案是onActivityResult从这样的活动中调用片段的方法

更好的方法是什么?如何防止onActivityResult在我们的 Activity 中覆盖方法?

0 投票
0 回答
22 浏览

android - 如何将文件的URI从画廊存储到本地数据库并访问它(最好在kotlin中)

我已经实现了 ActvityResults API 来从画廊(或)直接从相机获取图像。

从相机拍摄图像很简单

  1. 在应用程序的本地目录中创建一个文件 obj。

  2. 为文件 obj 创建一个 URI

  3. 使用 ActivityResults API,在 ActivityResultLauncher 中发送此 uri(这将自动将您捕获的图像写入 URI)

  4. 只需将 URI 作为字符串存储在数据库中并使用它(没有权限/访问问题)

但是当使用存储中的 ActivityResult API 合约选择图像时,

它返回一个 URI。

如果我将此 URI 存储在我的数据库中...我无法访问它,因为图像文件不是我的应用程序的本地文件,因此我无权访问它

所以我正在寻找一种方法将此 URI 的内容复制到 File obj 中(将在应用程序的本地目录中创建。

这样我就可以将文件的 URI 作为字符串存储在我的数据库中

PS [回答这个问题的许多问题至少有 7 年的历史并且是在 JAVA 中(他们使用光标 API,所以如果你有一个比这更简单的解决方案,请分享你的知识和专业知识)]

0 投票
0 回答
51 浏览

android-intent - ActivityResultLauncher 总是返回空数据

我在 android 11 中使用ActivityResultLauncherwith ActivityResultContracts.StartIntentSenderForResultcontract 来修改音频文件。

这是我在我的MainActivity

  1. MediaStore用来创建一个返回 a 的写请求PendingIntent,然后我调用#getIntentSender()以获取IntentSender

    IntentSender sender = MediaStore.createWriteRequest(getContentResolver(), uris).getIntentSender();

  2. 然后我创建一个IntentSenderRequest并设置它的填充Intent,如下所示:

    Intent fillIn = new Intent().putExtras(bundle);

    IntentSenderRequest senderRequest = new IntentSenderRequest.Builder(sender).setFillInIntent(fillIn).build();

  3. 然后我像下面这样调用我的启动器:

    myLauncher.launch(senderRequest);

我的结果启动器是这样的:

但每次我打电话时myLauncher,数据都是空的

我正在使用 androidx 版本 1.4.1

0 投票
1 回答
21 浏览

android - Android 和 Fragment 结果 API。如何使用不同的请求密钥共享子片段的结果?

我正在尝试在我的应用程序中实现片段结果 API。我需要在 Fragment 中显示 DialogFragment,并在单击对话框按钮时将结果从对话框片段发送到片段。所以在我的对话框片段中,当我点击按钮时,我做了这样的事情:

我正在尝试在我的片段中检索结果onCreate()

一切正常,但有一个问题。我在对话片段中requestKey调用时使用的是动态的。setFragmentResult

即在不同情况下可以在fragment内部打开对话框。我需要区分这些情况。为此,我向对话片段发送了一个不同的请求密钥。但是我如何在片段中接收结果时,按键区分这个结果。如果我在onCreate()方法内部这样做。

也就是说,我想做这样的事情:

但是我不明白如果这个方法 ( setFragmentResultListener) 已经需要 arequestKey作为参数,如何实现它。我应该从哪里拿走它?

如果我requestKey是静态的,我会在对话框片段中创建一个常量并使用它。但我requestKey是动态的。

请帮我。我没有在 Internet 上找到适合我的示例。目前我不明白如何在使用 MVVM 的干净架构的上下文中实现这一点。

PS 这里是我想要实现的一个例子:一个包含两个按钮(例如AB)的片段。通过单击每个按钮,将打开带有不同文本的对话框片段。在对话框内还有一个按钮,通过单击该按钮将结果传输到片段。我需要以不同的方式处理此结果,具体取决于在片段(A 或 B)上按下了哪个按钮。为此,我想通过请求键进行区分。

0 投票
0 回答
11 浏览

java - FirebaseUI 需要挂起的意图

我有一个带有这个activityResultLauncher的代码去firebaseAuthUI:

但是,当我使用较新的操作系统尝试我的应用程序时,应用程序会因以下错误而崩溃:

我没有找到一种方法来转换或启动带有待处理意图的 firebaseAuthUI,我也通过这段代码制作了 Intent,但我不知道如何将其更改为 PendingIntent: