Commit f8c10c4f by Yu-Tung

push

parent 81163bf8
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="ProjectType"> <component name="ProjectType">
......
...@@ -3,6 +3,7 @@ package com.example.audiovisualrecord.ui.main; ...@@ -3,6 +3,7 @@ package com.example.audiovisualrecord.ui.main;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi; import androidx.annotation.RequiresApi;
import androidx.core.content.FileProvider; import androidx.core.content.FileProvider;
import androidx.core.os.EnvironmentCompat;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
...@@ -176,6 +177,7 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -176,6 +177,7 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
MediaStore.ACTION_IMAGE_CAPTURE); MediaStore.ACTION_IMAGE_CAPTURE);
settingSystemCamera(pictureIntent); settingSystemCamera(pictureIntent);
if (pictureIntent.resolveActivity(getPackageManager()) != null) { if (pictureIntent.resolveActivity(getPackageManager()) != null) {
//Create a file to store the image //Create a file to store the image
photoFile = null; photoFile = null;
try { try {
...@@ -186,14 +188,21 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -186,14 +188,21 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
} }
if (photoFile != null) { if (photoFile != null) {
Uri photoURI = FileProvider.getUriForFile(this, "com.example.audiovisualrecord.provider", photoFile); Uri photoURI = FileProvider.getUriForFile(this, "com.example.audiovisualrecord.provider", photoFile);
pictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, // Uri photoURI = FileProvider.getUriForFile(this, getPackageName() + ".fileprovider", photoFile);
photoURI); // pictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,
startActivityForResult(pictureIntent, // photoURI);
REQUEST_CAPTURE_IMAGE); // startActivityForResult(pictureIntent,
// REQUEST_CAPTURE_IMAGE);
pictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
pictureIntent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
startActivityForResult(pictureIntent, REQUEST_CAPTURE_IMAGE);
} }
} }
} }
private void openRecordVideoIntent() { private void openRecordVideoIntent() {
String timeStamp = String timeStamp =
new SimpleDateFormat("yyyyMMdd_HHmmss", new SimpleDateFormat("yyyyMMdd_HHmmss",
...@@ -212,24 +221,30 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -212,24 +221,30 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
private File createImageFile() throws IOException { private File createImageFile() throws IOException {
Date c = Calendar.getInstance(Locale.TAIWAN).getTime(); Date c = Calendar.getInstance(Locale.TAIWAN).getTime();
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd_HH:mm:ss"); SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd_HH:mm");
String formattedDate = df.format(c); String formattedDate = df.format(c);
// String timeStamp = // String imageFileName =formattedDate;
// new SimpleDateFormat("yyyyMMdd_HHmmss", String imageName =new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(new Date());
// Locale.getDefault()).format(new Date()); Log.e("time",imageName);
String imageFileName =formattedDate; File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
Log.e("time",imageFileName); Log.e("storageDir",getExternalFilesDir(Environment.DIRECTORY_PICTURES).toString());
File storageDir = // File image = File.createTempFile(
getExternalFilesDir(Environment.DIRECTORY_PICTURES); // imageFileName, /* prefix */
File image = File.createTempFile( // ".jpg", /* suffix */
imageFileName, /* prefix */ // storageDir /* directory */
".jpg", /* suffix */ // );
storageDir /* directory */ // imageFilePath = image.getAbsolutePath();
); // return image;
if (!storageDir.exists()) {
storageDir.mkdir();
}
File tempFile = new File(storageDir, imageName);
if (!Environment.MEDIA_MOUNTED.equals(EnvironmentCompat.getStorageState(tempFile))) {
return null;
}
imageFilePath = image.getAbsolutePath(); imageFilePath = tempFile .getAbsolutePath();
return image; return tempFile;
} }
...@@ -243,14 +258,15 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -243,14 +258,15 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
@Override @Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data);
Date c = Calendar.getInstance(Locale.TAIWAN).getTime(); Date c = Calendar.getInstance(Locale.TAIWAN).getTime();
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd_HH:mm:ss"); SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd_HH:mm:ss");
String formattedDate = df.format(c); String formattedDate = df.format(c);
if (requestCode == REQUEST_CAPTURE_IMAGE && resultCode == RESULT_OK) { if (requestCode == REQUEST_CAPTURE_IMAGE && resultCode == RESULT_OK) {
File imgFile = new File(imageFilePath); File imgFile = new File(imageFilePath);
Log.e("imagePath", imageFilePath); Log.e("imagePath", imageFilePath);
File newFile = new File(imageFilePath, formattedDate + ".jpg");
imgFile.renameTo(newFile);
//照片的檔案 //照片的檔案
if (imgFile.exists()) { if (imgFile.exists()) {
...@@ -261,14 +277,11 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie ...@@ -261,14 +277,11 @@ public class MainActivity extends BaseActivity implements MainContract.View, Vie
out.flush(); out.flush();
out.close(); out.close();
MediaStore.Images.Media.insertImage(getContentResolver(), myBitmap, formattedDate, formattedDate); MediaStore.Images.Media.insertImage(getContentResolver(), myBitmap, "", "");
Log.e("fileName", imgFile.getName()); // Log.e("fileName", imgFile.getName());
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File(Environment.getExternalStorageDirectory().getPath())))); sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File(imageFilePath))));
Log.e("picture", Environment.getExternalStorageDirectory().getPath()); // Log.e("picture", Environment.getExternalStorageDirectory().getPath());
// Intent it = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
// Uri uri = Uri.fromFile(imgFile);
// it.setData(uri);
// this.sendBroadcast(it);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment