小编Teh*_*Mir的帖子

Android Studio 无法打开 Finder 来打开 mac 中的任何项目

Android Studio 版本:Chipmunk 2021.2.1
Mac 版本:macOS Monterey 版本 12.4

在此输入图像描述

每当我单击上图中的“打开”以打开我的任何项目时,android studio 就会完全冻结,然后我必须强制使其安静才能重试。

我能够打开最近菜单列表中的所有项目,也能够创建新项目。我尝试从最近的菜单列表中打开其中一个项目,然后尝试使用“文件”->“打开”打开其他项目,但它再次冻结。

有什么解决办法吗?

macos android-studio android-studio-chipmunk

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

我们可以使用 MediaStore API 删除图像文件吗?如果是的话怎么办

我需要在我的应用程序中使用后台服务一定时间后删除屏幕截图图像文件,并且使用上述方法工作正常

private void deleteTheFile(String path) {
    File fdelete = new File(path);
    if (fdelete.exists()) {
        if (fdelete.delete()) {
            getApplicationContext().sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File(path))));
            Log.i(TAG, "deleteTheFile: file deleted");
        } else {
            Log.i(TAG, "deleteTheFile: file not dellleeettteeeddd");
        }
    }
Run Code Online (Sandbox Code Playgroud)

但正如每个人都知道 android R (11) 带来的变化所以我尝试更新我的应用程序

MANAGE_EXTERNAL_STORAGE 权限

但谷歌拒绝了我的更新说

问题:需要使用 Media Store API

您已请求访问所有文件访问权限,但您的应用程序的核心功能似乎只需要访问媒体文件。借助 MediaStore API,应用程序可以贡献和访问外部存储卷上可用的媒体,而无需访问所有文件权限。

请更新您的应用,以便该功能使用媒体存储 API 并删除所有文件访问 (MANAGE_EXTERNAL_STORAGE) 权限。

但我以前从未使用过媒体存储API,我不知道它是否可以用它删除图像文件,因为删除文件属于可写部分

android file-permissions mediastore delete-file android-11

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

如何选择 Facebook 受众网络中的广告投放格式

我刚刚第一次使用 Facebook Audience Network,它在实施后向我展示了一些东西。 在此输入图像描述

我不知道这句话是什么意思,我应该做什么,我尝试用谷歌搜索,但没有找到任何有用的东西

android ads facebook-ads

5
推荐指数
0
解决办法
919
查看次数

当提供非状态对象时,compose 如何进行重组

首先看下面的代码

class WellnessViewModel : ViewModel() {

    private val _tasks = getWellnessTasks().toMutableStateList()
    val tasks: List<WellnessTask>
        get() = _tasks
Run Code Online (Sandbox Code Playgroud)

现在,我将任务传递给 composeFunction,并且 _tasks 中的任何更改(添加或删除项目)都会导致 composeFunction 重新组合。但是这个东西究竟是如何工作的,因为我向该函数提供了非状态对象,如下代码所示。

@Composable
fun WellnessScreen(
    modifier: Modifier = Modifier,
    wellnessViewModel: WellnessViewModel = viewModel()
) {
    Column(
        modifier = modifier
    ) {
        StatefulCounter()
        WellnessTasksList(
            list = wellnessViewModel.tasks,
            onCloseTask = {
                wellnessViewModel.remove(it)
            },
            onCheckedTask = { task, checked ->
                wellnessViewModel.changeTaskChecked(task, checked)
            }
        )
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么它有效以及如何工作,对此需要一个简单的解释。

android kotlin android-jetpack-compose composable

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