根据
这篇来自Google的文档介绍了如何启动一项活动以获得结果
虽然底层的startActivityForResult()和onActivityResult() API在所有API级别的Activity类上都可用,但强烈建议使用AndroidX Activity 1.2.0-alpha02和Fragment 1.3.0-alpha02中引入的Activity Result API。
我想让我的用户在我的应用程序中拍照,并将照片数据返回到我的应用程序中。我打算使用旧的startActivityForResult()方法,但是这个新方法看起来会解决很多问题,而且更可靠,所以我想试一试。我应该可以打电话给
并向它传递一个内置的合同,用于拍摄一张名为
ActivityResultsContracts.TakePicture
this.registerForActivityResult(new ActivityResultContracts.TakePicture(), ...);但我得到了:
我已经将这个添加到了我的app/build.gradle中:
// 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时,我的项目就会变得疯狂,所以我只是停留在工作正常的版本上。)
发布于 2020-05-06 04:20:22
从引用的文档中:
强烈建议使用AndroidX Activity 1.2.0-alpha02和Fragment 1.3.0-alpha02中介绍的Activity Result API。
这两个都不在你的依赖中,至少你的问题中的那部分是这样的。你一直在操纵
,not
或者
..。
添加以下两项中的一项或两项:
implementation "androidx.activity:activity:1.2.0"
implementation "androidx.fragment:fragment:1.3.0"(或任何更高版本)
https://stackoverflow.com/questions/61622254
复制相似问题