我有一个Android应用程序,它从连接到设备的外部摄像头拍摄图像和视频,并将其保存在SD卡上的文件夹中。有一个启动画廊的按钮,我希望画廊像照相机画廊一样打开,同时显示该文件夹中的照片和视频。怎么办呢?
目前我正在我的Activity中实现MediaScannerConnectionClient,但这会根据最后点击的图像/录制的视频打开一个应用选择器,然后只显示最后一张图像。
在按钮单击侦听器上,我调用startScan()
private void startScan(){
Log.d("Connected","success"+conn);
if(conn!=null)
{
conn.disconnect();
}
conn = new MediaScannerConnection(this,this);
conn.connect();
}
@Override
public void onMediaScannerConnected() {
Log.d("onMediaScannerConnected","success"+conn);
File folder = new File(Environment.getExternalStorageDirectory().getPath());
String[] allFiles = folder.list();
conn.scanFile(Environment.getExternalStorageDirectory().toString()+appFolderName, FILE_TYPE);
}
@Override
public void onScanCompleted(String path, Uri uri) {
try {
Log.d("onScanCompleted",uri + "success"+conn);
if (uri != null)
{
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(uri);
startActivity(intent);
}
} finally
{
conn.disconnect();
conn = null;
}
}