当前位置: 首页 > 知识库问答 >
问题:

startActivityForResult(android.content.Intent,int)“已弃用

南宫炜
2023-03-14
startActivityForResult(intent,3021) 

我用这个很久了,这个方法现在不推荐了吗?

共有1个答案

宗政财
2023-03-14

它确实遭到了抨击。我试图找到新的出路,我想在这里分享。

现在,我们可以使用ynsterForActivityResult单独注册每个回调,而不是为所有回调覆盖onActivityResult并检查我们的请求代码。ActivityResultCompts。IMO这是一种比以前更好的方法。

以下是为结果启动活动的示例:

val previewRequest =
           registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
    if (it.resultCode == RESULT_OK) {
        val list = it.data
        // do whatever with the data in the callback
    }
}

现在,我们使用

val intent = Intent(this, PreviewFullscreenActivity::class.java)
intent.putStringArrayListExtra(AppConstants.PARAMS.IMAGE_URIS, list)
previewRequest.launch(intent)
 类似资料:
  • 我是android新手。只是试着制作一个webview应用程序而不是一个实际的移动应用程序,然后我会将我的flask应用程序用作一个移动应用程序。 该应用程序运行良好,没有任何问题,但start ActivityForResult正在给我一个警告。代码如下: 这是onActivityResult,我仍然无法让它工作。。。

  • 我目前正在学习如何在java中使用android studio,并试图制作一个社交媒体应用程序。我目前正在创建一个编辑个人资料页面,用户可以在其中更新他们的详细信息并上传个人资料图片。 我一直在网上学习教程,我遇到的所有教程都使用starActivityForResult方法。它已经被划掉,不会调用该方法,因为它已被弃用。但是我不知道该用什么来代替。 我知道有一个替代方案,但我不明白它是如何工作的

  • 我的应用程序包含一个用于打开外部网页的简单片段,包括: 当结果返回时(在我的片段的

  • 我是android新手。只是尝试制作一个webview应用程序,而不是实际的移动应用程序,然后我会将我的flask应用程序用作移动应用程序。 该应用程序运行正常,没有任何问题,但startActivityForResult给了我一个警告。以下是代码:

  • 问题内容: 今天,我决定将我的android应用程序从Java转换为Kotlin!:)但是,当我输入以下内容时,我感到非常惊讶: 然后Android Studio告诉我:“’getActionView(MenuItem!):View!’ 已弃用。Java中已弃用“ 因此,在问您解决方案之前,我先问谷歌解决方案是什么,我相信我找到了解决方案:“直接使用getActionView()”。 所以我像这样

  • 目前我正在开发一个带有三个菜单项的底部导航栏的应用程序。我曾使用来单击项目。但现在我面临的问题是该方法已贬值。 应用程序语言:Java 问题:“setOnNavigationItemSelectedListener(com.google.android.material.bottomnavigation.BottomNavigationView.OnNavigationItemSelectedLi