首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到AndroidX ActivityResultContracts包/找不到类

找不到AndroidX ActivityResultContracts包/找不到类
EN

Stack Overflow用户
提问于 2020-05-06 04:15:49
回答 1查看 10.5K关注 0票数 18

根据

这篇来自Google的文档介绍了如何启动一项活动以获得结果

虽然底层的startActivityForResult()和onActivityResult() API在所有API级别的Activity类上都可用,但强烈建议使用AndroidX Activity 1.2.0-alpha02和Fragment 1.3.0-alpha02中引入的Activity Result API。

我想让我的用户在我的应用程序中拍照,并将照片数据返回到我的应用程序中。我打算使用旧的startActivityForResult()方法,但是这个新方法看起来会解决很多问题,而且更可靠,所以我想试一试。我应该可以打电话给

并向它传递一个内置的合同,用于拍摄一张名为

ActivityResultsContracts.TakePicture

代码语言:javascript
复制
this.registerForActivityResult(new ActivityResultContracts.TakePicture(), ...);

但我得到了:

我已经将这个添加到了我的app/build.gradle中:

代码语言:javascript
复制
// original include
//implementation 'androidx.appcompat:appcompat:1.1.0'

// suggestion from Google documentation
//implementation 'androidx.appcompat:appcompat:1.2.0-alpha02'

// AndroidStudio suggested a newer version was available
implementation 'androidx.appcompat:appcompat:1.2.0-beta01'

我试过了

而且它们似乎都没有文档中提到的类。

当我尝试在java文件的顶部手动导入类时,AndroidStudio也认为包不存在。它应该是

,但我看到的是:

我使用的是gradle 3.5.3,如果这很重要的话。(每当我试图升级到最新的gradle时,我的项目就会变得疯狂,所以我只是停留在工作正常的版本上。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-06 04:20:22

从引用的文档中:

强烈建议使用AndroidX Activity 1.2.0-alpha02和Fragment 1.3.0-alpha02中介绍的Activity Result API。

这两个都不在你的依赖中,至少你的问题中的那部分是这样的。你一直在操纵

,not

或者

..。

添加以下两项中的一项或两项:

代码语言:javascript
复制
implementation "androidx.activity:activity:1.2.0"
implementation "androidx.fragment:fragment:1.3.0"

(或任何更高版本)

票数 42
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61622254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档