AS如何从MainActivity中传一个我从文本框中获取的值,到我的自定义类中
这个是我定义的类:
public File createImageFile() {
String fileName="";
File mediaStorageDir = new File(
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
fileName);
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
Log.d("----", "failed to create directory");
return null;
}
}
String timeStamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String suffix = ".jpg";
File image = new File(mediaStorageDir + File.separator + timeStamp + suffix);
return image;
}
这个是调用后相机的活动: @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
@AfterPermissionGranted(1)
protected void onResume() {
super.onResume();
if (EasyPermissions.hasPermissions(PhotoCaptureActivity.this, perms)) {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
imgUri = createImageFile();
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(imgUri));
} else {
ContentValues contentValues = new ContentValues(1);
contentValues.put(MediaStore.Images.Media.DATA, imgUri.getAbsolutePath());
Uri uri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
}
startActivityForResult(takePictureIntent, REQUEST_CODE);
} else {
EasyPermissions.requestPermissions(this, "", 1, perms);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (REQUEST_CODE == requestCode && resultCode == RESULT_OK) {
Log.i("---success---", imgUri + "");
ArrayList<String> strings = new ArrayList<>();
strings.add(imgUri.toString());
if (photoListener != null)
photoListener.onChoose(strings);
if (waterMarkListener != null) {
WaterMask.WaterMaskParam maskParam = waterMarkListener.onDraw();
Bitmap bitmap = ImageUtil.getBitmap(String.valueOf((imgUri)));
// WaterMask.saveJPGE_After(rotateBitmapByDegree(bitmap, readPictureDegree(String.valueOf(imgUri))),String.valueOf(imgUri));
WaterMask.draw(this, bitmap, String.valueOf((imgUri)), maskParam);
}
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(imgUri)));
}
finish();
}
public File createImageFile() {
Intent intent=getIntent();
String cu=intent.getStringExtra("custno");
String fileName="";
File mediaStorageDir = new File(
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
fileName);
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
Log.d("----", "failed to create directory");
return null;
}
}
String timeStamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String suffix = ".jpg";
File image = new File(mediaStorageDir + File.separator + timeStamp + suffix);
return image;
}
}
因为我之前用的是下的一个Demo,用了Intent传值到调用相机的活动中,但是传过去之后就会启动调用相机的活动,我只是想把值给传过去,而不是直接传过去了就启动相机,所以就把这个调用相机的活动中的需要获取值的方法createImageFile()单独拿出来,就是最上面的那段代码。但是现在不知道该怎么传值,怎么操作了,求大神指教一波。萌新一个