在Android 10上,调用一个活动进行两次照片调用onCreate()

在Android 10上,调用一个活动进行两次照片调用onCreate(),android,android-10.0,Android,Android 10.0,在Android 10中,并且只有在Android 10中,调用活动来拍照会创建一个新的活动 private fun takePicture() { val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE) val file: File = createFile() val uri: Uri = FileProvider.getUriForFile( this, "com.example.an

在Android 10中,并且只有在Android 10中,调用活动来拍照会创建一个新的活动

private fun takePicture() {
    val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
    val file: File = createFile()
    val uri: Uri = FileProvider.getUriForFile(
        this,
        "com.example.android.fileprovider",
        file
    )
    intent.putExtra(MediaStore.EXTRA_OUTPUT, uri)
    startActivityForResult(intent, Activities.STEPVERIFICATION_IMG_ACTIVITY)
}
在Android 10中,onActivityResult是在onCreate()之后调用的,在任何其他Android版本中都不会发生

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?)
安卓9 1-startActivityForResult 2-onActivityResult

安卓10 1-startActivityForResult 2-onCreate() 3-onActivityResult

安卓10有什么不同

非常感谢

在Android 10中,onActivityResult是在onCreate()之后调用的,在任何其他Android版本中都不会发生这种情况

这与Android版本无关

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?)
当你的应用程序处于后台时,你的进程将被终止。这是完全正常的,并且自Android 1.0以来一直是Android的标准部分

决定流程是否终止的因素取决于很多因素,包括:

  • 前台应用程序和摄像头应用程序使用的内存量可能会有很大的差异
  • 正在运行哪些其他进程及其相对重要性
  • 设备上系统RAM的数量

如果进程终止,当控件返回应用程序时,Android将为您生成一个新的进程,并在调用onActivityResult()之前,对您的新前台活动调用
onCreate()
向您提供摄像头应用程序的结果。

清单中的活动配置是什么,以及您如何控制活动生命周期?