我如何#include ActivityResultContracts

How do I #include ActivityResultContracts

当我尝试这样做时:

import androidx.activity.result.contract.ActivityResultContracts

Android Studio 抱怨“结果”未定义。

我的 build.gradle 中有这一行:

implementation 'androidx.appcompat:appcompat:1.2.0'

据我所知,这应该能让我访问 ActivityResultContracts。我错过了什么?

原来我误解了我得到的信息。 build.gradle 中的实现行需要改为此行。

implementation 'androidx.activity:activity-ktx:1.2.0-beta01'

根据 Getting a result from an activity documentation,Activity 结果 API 仅在 Activity 1.2.0 和 Fragment 1.3.0 中引入。 AppCompat 1.2.0 仅传递依赖于 Fragment 1.1.0,而后者又仅依赖于 Activity 1.0.0。这意味着您没有足够新的 Fragments 和 Activity 版本来访问 Activity 结果 APIs.

因此您可以升级您的 AppCompat 版本( 取决于更新版本的 Fragment 和 Activity):

implementation 'androidx.appcompat:appcompat:1.3.0-alpha02'

或者添加一个专门针对 Fragment 的附加依赖项(它会引入 Activity 的正确版本):

implementation 'androidx.fragment:fragment-ktx:1.3.0-beta01'