Мне нужно закрыть активность скриншотом подпредставления.
Вот мои фрагменты кода:
private void returnBackWithSavedImage() {
int permissionCheck = PermissionChecker.checkCallingOrSelfPermission(this,
android.Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
// Hide top/bottom sub views
updateView(View.GONE);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
parentImageRelativeLayout.setLayoutParams(layoutParams);
new CountDownTimer(1000, 500) {
public void onTick(long millisUntilFinished) {
}
public void onFinish() {
byte[] byteArray = null;
try {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
if (parentImageRelativeLayout != null) {
parentImageRelativeLayout.setDrawingCacheEnabled(true);
parentImageRelativeLayout.getDrawingCache().compress(Bitmap.CompressFormat.JPEG, 80, byteArrayOutputStream);
byteArray = byteArrayOutputStream .toByteArray();
}
byteArrayOutputStream.flush();
byteArrayOutputStream.close();
} catch (Exception var7) {
var7.printStackTrace();
}
Intent returnIntent = new Intent();
if (byteArray != null) {
String imgString = Base64.encodeToString(byteArray, Base64.NO_WRAP);
returnIntent.putExtra("image", imgString);
}
setResult(Activity.RESULT_OK, returnIntent);
finish();
}
}.start();
//Toast.makeText(this, getString(R.string.save_image_succeed), Toast.LENGTH_SHORT).show();
} else {
showPermissionRequest();
}
}
Проблема в том, что вызывается finish();
, но активность никогда не выполняетсябыл закрыт.Если я запускаю следующий код, он закрывает действие.
private void returnBackWithSavedImage() {
int permissionCheck = PermissionChecker.checkCallingOrSelfPermission(this,
android.Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
Intent returnIntent = new Intent();
setResult(Activity.RESULT_OK, returnIntent);
finish();
} else {
showPermissionRequest();
}
}
Я бьюсь над этим вопросом целый день, но действительно не могу решить.
Я ценю любую помощь.
Большое спасибо за ваше время и помощь в этом вопросе.