我正在开发一个 Android 应用程序,需要将文件发送到 NDK 并对该文件执行一些处理。问题是,在选择文件后,Android(由于权限)返回一个内容 Uri,而 NDK 需要一个真实的(绝对)该文件的路径。
现在的问题是“如何处理 NDK 和 Android java(或 kotlin)源代码之间的这个问题?”
有一些代码可以将内容 uri 转换为真实文件路径,但它们不起作用并返回空字符串。另外,我知道如何在 java(kotlin) 端处理内容 uri。
在科特林中:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == REQUEST_WRITE_FILE_TXT && resultCode == Activity.RESULT_OK) {
data?.let {
doProcess(it.data.toString()) // data is Uri and this method is native method
}
}
}
Run Code Online (Sandbox Code Playgroud)
在.cpp中:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == REQUEST_WRITE_FILE_TXT && resultCode == Activity.RESULT_OK) { …Run Code Online (Sandbox Code Playgroud)