gpt4 book ai didi

java - 已弃用的 ManagedQuery() 问题

转载 作者:IT老高 更新时间:2023-10-28 11:25:07 24 4
gpt4 key购买 nike

我有这个方法:

public String getRealPathFromURI(Uri contentUri) {
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(contentUri, proj, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}

不幸的是,编译器向我显示了一个问题:

Cursor cursor = managedQuery(contentUri, proj, null, null, null);

因为 managedQuery() 已被弃用。

如果不使用 managedQuery(),我该如何重写这个方法?

最佳答案

您可以将其替换为 context.getContentResolver().queryLoaderManager(您需要使用兼容性包来支持 API 版本 11 之前的设备)。

但是,您似乎只使用了一次查询:您可能甚至不需要它。也许这会起作用?

public String getRealPathFromURI(Uri contentUri) {
String res = null;
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(contentUri, proj, null, null, null);
if(cursor.moveToFirst()){;
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
res = cursor.getString(column_index);
}
cursor.close();
return res;
}

关于java - 已弃用的 ManagedQuery() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12714701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com