Android 从不在库中的目录打开图像
我想打开我创建但不在库中的文件夹中的所有图像。到目前为止,我已经进行了搜索,并在一定程度上实现了它。唯一的问题是,它只显示图像库,显示要选择的文件夹。它似乎忽略了路径,并默认为库。我在做什么有问题吗?请温柔一点,我通常会搜索更多,但可能还不够?下面是我正在使用的代码片段 另外,我在这里尝试了解决方案:,但它只显示一个图像,而不是目录中的所有图像。也许我需要回到这一个,并改变它的工作Android 从不在库中的目录打开图像,android,Android,我想打开我创建但不在库中的文件夹中的所有图像。到目前为止,我已经进行了搜索,并在一定程度上实现了它。唯一的问题是,它只显示图像库,显示要选择的文件夹。它似乎忽略了路径,并默认为库。我在做什么有问题吗?请温柔一点,我通常会搜索更多,但可能还不够?下面是我正在使用的代码片段 另外,我在这里尝试了解决方案:,但它只显示一个图像,而不是目录中的所有图像。也许我需要回到这一个,并改变它的工作 private void setIntentToSpecificFolder() { String fol
private void setIntentToSpecificFolder() {
String folderPath = Environment.getExternalStorageDirectory().toString() + "/com.qk.livewallpapertest/";
//int folderBucketId = folderPath.toLowerCase().hashCode();
//Uri targetUri = Media.EXTERNAL_CONTENT_URI.buildUpon().appendQueryParameter("bucketId", String.valueOf(folderBucketId)).build();
Uri targetUri = Uri.parse(folderPath);
Log.v(TAG,"targetUri: " + getRealPathFromURI(targetUri) + "folderPath: " + folderPath);
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setDataAndType(targetUri, "vnd.android.cursor.dir/image");
startActivityForResult(intent,SELECT_PHOTO);
}
每当您使用像
action\u PICK
这样的操作时,您都会隐式地将控制权交给另一个应用程序,就像指向第三方网站的链接将控制权交给另一个网站一样
在这种情况下,设备不需要从特定目录中执行任何操作。一台设备可能有零个、一个或N个能够做到这一点的应用程序。这些应用程序是什么,它们做什么,取决于它们各自的作者
因此,如果应用程序的功能取决于用户从特定目录中选择图像的能力,那么您需要自己实现。如果这是一个不错的选择,但不是必需的,那么您可以坚持使用
操作_PICK
,但建议用户安装您确定的某个文件浏览器应用程序,以提供您想要的结果。这里是一个简化的应用程序
private MediaScannerConnection conn;
private void notifySystemWithImage(final File imageFile) {
conn = new MediaScannerConnection(this, new MediaScannerConnectionClient() {
@Override
public void onScanCompleted(String path, Uri uri) {
try {
if (uri != null) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "image/*");
startActivity(intent);
}
} finally {
conn.disconnect();
conn = null;
}
}
@Override
public void onMediaScannerConnected() {
conn.scanFile(imageFile.getAbsolutePath(), "*/*");
}
});
conn.connect();
}
使用startActivityForResult(意图,选择照片);,你是如何得到挑选的图像的?嗯,挑选照片不是问题。我已经有一个过程,用户选择一个图像,我调整大小并将照片存储在不同的文件夹中。我试图做的过程是检索文件夹中的照片,让他们选择任何照片删除,编辑…等等。出于某种原因,当意图开始时,它默认为画廊。如果您不想让它拾取,为什么要将action设置为action\u pick?我确实希望他们拾取。我说让用户选择一张图片,这样他们就可以编辑、删除以及我想提供给他们的任何东西。谢谢你的解释。这实际上很有道理。我想这是公认的答案,因为我不明白什么是真正的行动。在某种程度上,你可以说我没有做足够的搜索。