Фото 2

This commit is contained in:
Igor I
2024-08-12 19:29:01 +05:00
parent 4f6c156571
commit c8b20ca108
2 changed files with 99 additions and 0 deletions

View File

@ -0,0 +1,57 @@
package tools;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.provider.MediaStore;
import android.view.View;
import androidx.core.content.FileProvider;
import java.io.File;
import kz.istt.locust.BuildConfig;
import kz.istt.locust.LocustHealthActivity;
public class OnClickListenerImage implements View.OnClickListener {
public int requestCode;
public Context context;
public OnClickListenerImage(Context context, int requestCode){
this.context=context;
this.requestCode=requestCode;
}
@Override
public void onClick(View view) {
// Создаём папку если её нет
File directory = new File(Environment.getExternalStorageDirectory() + File.separator + "Pictures" + File.separator + "Locust");
directory.mkdirs();
String tmp_ImageName = "locust_" + (System.currentTimeMillis() / 1000L) + ".jpg";
// Сохраняем имя файла в SharedPreferences
SharedPreferences preferences = context.getSharedPreferences("CommonPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("IMAGE_NAME", tmp_ImageName);
editor.apply();
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pictures/Locust/" + tmp_ImageName);
Uri mImageUri;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
mImageUri = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".provider",file);
else
mImageUri = Uri.fromFile(file);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, mImageUri);
intent.putExtra(MediaStore.EXTRA_MEDIA_TITLE, tmp_ImageName);
((Activity) context).startActivityForResult(intent, requestCode);
}
}

View File

@ -0,0 +1,42 @@
package tools;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Environment;
import android.view.View;
import android.widget.EditText;
import androidx.core.content.FileProvider;
import java.io.File;
import kz.istt.locust.BuildConfig;
public class OnClickListenerImageShow implements View.OnClickListener{
public EditText imageName;
public Context context;
public OnClickListenerImageShow(Context context, EditText imageName){
this.context=context;
this.imageName=imageName;
}
@Override
public void onClick(View v)
{
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pictures/Locust/" + imageName.getText().toString());
if(!file.isFile()) file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pictures/Locust/_" + imageName.getText().toString());
if (file.isFile()) {
Uri uri = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".provider", file);
Intent i = new Intent();
i.setAction(Intent.ACTION_VIEW);
i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
i.setDataAndType(uri, "image/jpg");
((Activity) context).startActivity(i);
}
}
}