Я реализовал это git в моем текущем проекте без клонирования
реализация 'com.github.adityaarora1: LiveEdgeDetection: master-SNAPSHOT'
Но я не могу назвать это по моему методу. В документе написано
- Запустить startActivityForResult из вашей активности
startActivityForResult (новое намерение (this, ScanActivity.class), REQUEST_CODE);
Получить путь к файлу для обрезанного изображения в onActivityResult
String filePath = data.getExtras (). GetString (ScanConstants.SCANNED_RESULT);Растровое изображение baseBitmap = ScanUtils.decodeBitmapFromFile (filePath, ScanConstants.IMAGE_NAME);
Поэтому я попытался вызвать эту кнопку onClick, как из нового класса
scan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent(MainActivity.this,
ScanActivity.class);
startActivity(myIntent);
}
, и поместил остаток в свойonActivityResult
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
String filePath = data.getExtras().getString(ScanConstants.SCANNED_RESULT);
Bitmap baseBitmap = ScanUtils.decodeBitmapFromFile(filePath, ScanConstants.IMAGE_NAME);
}
Редактировать: вот MainActivity, который автор использовал для git, я пытался его использовать, но это дает мне ошибку
scannedImageView = findViewById (com.adityaarora.liveedgedetection.R.id.scanned_image);
MainActivity (импортировано)
private static final int REQUEST_CODE = 101;
private ImageView scannedImageView;
Button scan;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scan);
scannedImageView = findViewById(com.adityaarora.liveedgedetection.R.id.scanned_image);
startScan();
scan = findViewById(R.id.open_scan);
scan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent(ScanActivity2.this,
ScanActivity.class);
startActivityForResult(myIntent ,111);
}
});
}
private void startScan() {
Intent intent = new Intent(this, ScanActivity.class);
startActivityForResult(intent, REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE) {
if(resultCode == Activity.RESULT_OK) {
if(null != data && null != data.getExtras()) {
String filePath = data.getExtras().getString(ScanConstants.SCANNED_RESULT);
Bitmap baseBitmap = ScanUtils.decodeBitmapFromFile(filePath, ScanConstants.IMAGE_NAME);
scannedImageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
scannedImageView.setImageBitmap(baseBitmap);
}
} else if(resultCode == Activity.RESULT_CANCELED) {
finish();
}
}
}
Обновление : после некоторых исследований я обнаружил, что импортированныйПроект был только для чтения файла и не может быть изменен (ScanActivity.java), и мой текущий проект был обновлен как SDK 28, который отличается от импортированного, так что есть некоторые ошибки в ScanActivity, поэтому кнопка (технически) не работала