小编Nag*_*obi的帖子

调用 ActivityResultContracts.TakePicture() 返回 false,因此图像未按预期保存

我试图从相机中保存图像,但它一直返回错误。我以为图像没有被显示,但是当我查看文件系统时,我有很多文件,但它们的长度都为零。

这里只是设置了一些。

val pictureResult = remember { mutableStateOf<Boolean?>(null)}
val context = LocalContext.current
val cameraLauncher = rememberLauncherForActivityResult(ActivityResultContracts.TakePicture()) {
    pictureResult.value = it
    // $it is false
}
Run Code Online (Sandbox Code Playgroud)

这将创建屏幕截图中的文件。

fun createImageFile(extension:String): File {
    // Create an image file name
    val timeStamp: String = SimpleDateFormat("yyyyMMdd_HHmmss").format(Date())
    val storageDir: File? = context.getExternalFilesDir(Environment.DIRECTORY_PICTURES)
    val imagePath: File = File(context.filesDir, directoryFromExtension(extension))
    return File(imagePath, "justme${timeStamp}${extension}"
    ).apply {
        myNewsCreatorViewModel.currentPhotoPath = absolutePath
    }
}
Run Code Online (Sandbox Code Playgroud)

单击该按钮后,我会从上一个方法返回的文件开始执行这些步骤。

                val uri = FileProvider.getUriForFile(context, "com.mine.fileprovider", file)
                cameraLauncher.launch(uri)
Run Code Online (Sandbox Code Playgroud)

这是我设置 后的结果,想法是然后显示图像,或者如果文件未保存为 false,pictureResult.value我当前会显示一条短信。imageSaved

        pictureResult.value?.let { imageSaved -> …
Run Code Online (Sandbox Code Playgroud)

android android-camera kotlin android-jetpack

5
推荐指数
1
解决办法
2068
查看次数

为什么不推荐使用 Kotlin 通道上的流操作?

如果试图在科特林使用任何的流操作的通道(mapfilter,等...),你会得到以下警告

注意:随着惰性异步流的引入,此 API 将在未来的更新中过时。见问题#254

我不确定我是否完全理解关于 issue #254的讨论。为什么这些操作会过时?

如果我是正确的知道问题是,无论是否有任何订阅者 ,这些流操作都会运行(因为频道很热,我不确定为什么这是一个问题......),方向是优化它们,以便它们仅在有订阅者时运行?

kotlin kotlin-coroutines

3
推荐指数
1
解决办法
1170
查看次数

KMM - 如何将 Retrofit 添加到:共享模块(commonMain)

我想将 Retrofit 添加到 :shared 模块 (commonMain) 中。

sourceSets["commonMain"].dependencies {
    implementation("com.squareup.retrofit2:retrofit:2.9.0")
    implementation("com.squareup.retrofit2:converter-gson:2.9.0")
}
Run Code Online (Sandbox Code Playgroud)

但在commonMain我看不到 Retrofit 类。在androidMain我可以看到它。那是一种魔法。我没有将 Retrofit 添加到androidMain.

请帮我。提前致谢。

kotlin kotlin-multiplatform kotlin-multiplatform-mobile

3
推荐指数
1
解决办法
3104
查看次数

struct中的数组声明,使用C++中的预定义常量

我想在一个具有预定义常量大小结构中声明一个数组,但它给了我这个错误:期望一个']'.

#define MAX_SZAMJEGY 200;

struct szam {

    int szj[MAX_SZAMJEGY];
    bool negative;
};
Run Code Online (Sandbox Code Playgroud)

c++ arrays struct constants

1
推荐指数
1
解决办法
80
查看次数

如何否定存储在32位寄存器对中的64位整数?

我在寄存器对中存储了一个64位整数.我怎样才能正确否定这个数字?EDX:EAX

例如:123456789123-123456789123.

x86 assembly

1
推荐指数
1
解决办法
396
查看次数

grep命令反转选项不起作用

我试图筛选出的线,包含拒绝的权限find命令.

如果我跑步: find ~ -name "fifo" | grep "Permission denied"

输出是正确的: find: ‘/home/nroby/.cache/dconf’: Permission denied find: ‘/home/nroby/.dbus’: Permission denied find: ‘/home/nroby/.config/enchant’: Permission denied

但是,如果我使用该-v选项:find ~ -name "fifo" | grep -v "Permission denied"

输出是: find: ‘/home/nroby/.cache/dconf’: Permission denied find: ‘/home/nroby/.dbus’: Permission denied /home/nroby/Desktop/Linux/fifo find: ‘/home/nroby/.config/enchant’: Permission denied

linux bash

0
推荐指数
1
解决办法
161
查看次数

在Android Studio中定义一个文本视图作为根视图

我是初学者,创建新的 XML 布局后,我不知道如何继续此步骤:“将文本视图定义为根视图”。

android android-studio

-1
推荐指数
1
解决办法
2050
查看次数