下面拿Butoon 举列
首先 在CameraAactivity 写一个Button 用来启动ImageShowActivity
public class ImageShowActivity extends AppCompatActivity implements View.OnClickListener {
private final static String TAG = "ImageShowActivity";
private String lastImagePath;
//图片集合
private ArrayList<String> imageList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.e(TAG, "onCreate success !!!!!");
setContentView(R.layout.activity_image_show);
getFilePath();
lastImagePath = imageList.get(imageList.size() - 1);
gotoGallery(lastImagePath);
}
//获取相册camera 图片路径
private void getFilePath() {
File file= new File(Environment.getExternalStorageDirectory().toString() + "/DCIM/Camera");
File[] dirEpub = file.listFiles();
if (dirEpub.length != 0){
for (int i = 0; i < dirEpub.length; i++){
String fileName = dirEpub[i].toString();
Log.i("File", "File name = " + fileName);
imageList.add(fileName);
}
}
}
// // 适配 ---
// public String getLastImagePath(Context context) {
// Log.e("TAG", "getLastImagePath success !!!!!");
// ContentResolver resolver = context.getContentResolver();
// Uri baseUri = MediaStore.Files.getContentUri("external");
// Uri query = baseUri.buildUpon().appendQueryParameter("limit", "1").build();
// String[] projection = new String[]{MediaStore.Images.ImageColumns._ID, MediaStore.Images.ImageColumns.ORIENTATION,
// MediaStore.Images.ImageColumns.DATE_TAKEN, MediaStore.Images.ImageColumns.DATA, MediaStore.Files.FileColumns.MEDIA_TYPE,
// };
// String selection = MediaStore.Images.Media.BUCKET_ID + " = ?";
// String[] selectionArgs = {getBucketId(Environment.getExternalStorageDirectory().toString() + "/DCIM/Camera")};
// String order = MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC, " + MediaStore.Images.ImageColumns._ID + " DESC";
// Cursor cursor = null;
// String filePath = null;
// try {
// cursor = resolver.query(query, projection, selection, selectionArgs, order);
// if (cursor != null && cursor.moveToFirst()) {
// int orientation = cursor.getInt(1);
// filePath = cursor.getString(3);
// }
// } finally {
// if (cursor != null) {
// cursor.close();
// }
// }
// return filePath;
// }
//
// private static String getBucketId(String path) {
// Log.e("TAG", "getBucketId success !!!!!");
// return String.valueOf(path.toLowerCase().hashCode());
// }
// 转到画廊 就是图库
public void gotoGallery(String path) {
Log.e("TAG", "gotoGallery success !!!!!");
Uri uri =getMediaUriFromPath(this, path);
Intent intent = new Intent("com.android.camera.action.REVIEW", uri);
intent.setData(uri);
startActivity(intent);
}
@SuppressLint("Range")
public Uri getMediaUriFromPath(Context context, String path) {
Log.e("TAG", "getMediaUriFromPath success !!!!!");
Uri uri = null;
if(path.contains("jpg")){
Uri picUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
Cursor cursor = context.getContentResolver().query(picUri,
null,
MediaStore.Images.Media.DISPLAY_NAME + "= ?",
new String[] {path.substring(path.lastIndexOf("/") + 1)},
null);
if(cursor.moveToFirst()) {
uri = ContentUris.withAppendedId(picUri,
cursor.getLong(cursor.getColumnIndex(MediaStore.Images.Media._ID)));
}
cursor.close();
}else if(path.contains("VID")){
Uri mediaUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
Cursor cursor = context.getContentResolver().query(mediaUri,
null,
MediaStore.Video.Media.DISPLAY_NAME + "= ?",
new String[] {path.substring(path.lastIndexOf("/") + 1)},
null);
if(cursor.moveToFirst()) {
uri = ContentUris.withAppendedId(mediaUri,
cursor.getLong(cursor.getColumnIndex(MediaStore.Video.Media._ID)));
}
cursor.close();
}
return uri;
}
@Override
public void onClick(View v) {
Log.e(TAG, "onClick success !!!!!!!");
}
}