MainActivity.java 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package com.miekir.ocr;
  2. import android.Manifest;
  3. import android.annotation.SuppressLint;
  4. import android.content.Intent;
  5. import android.net.Uri;
  6. import android.os.Bundle;
  7. import androidx.annotation.Nullable;
  8. import androidx.appcompat.app.AlertDialog;
  9. import androidx.appcompat.app.AppCompatActivity;
  10. import com.tbruyelle.rxpermissions2.RxPermissions;
  11. /**
  12. *
  13. * @author 詹子聪
  14. * @date 2020/7/25 20:33
  15. * Description: 主界面
  16. */
  17. public class MainActivity extends AppCompatActivity {
  18. @SuppressLint("CheckResult")
  19. @Override
  20. protected void onCreate(@Nullable Bundle savedInstanceState) {
  21. super.onCreate(savedInstanceState);
  22. setContentView(R.layout.activity_main);
  23. final RxPermissions rxPermissions = RxPermissions.getInstance(this);
  24. rxPermissions
  25. .request(Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE)
  26. .subscribe(granted -> {
  27. if (granted) {
  28. // 打开相机
  29. //startActivity(new Intent(MainActivity.this, CropImageActivity.class));
  30. startActivity(new Intent(MainActivity.this, CameraActivity.class));
  31. finish();
  32. //photoSelect();
  33. } else {
  34. // 权限被拒绝
  35. showDenyDialog();
  36. }
  37. });
  38. }
  39. protected void showDenyDialog() {
  40. AlertDialog dialog = new AlertDialog
  41. .Builder(this)
  42. .setMessage("Camera or Storage Permissions Denied")
  43. .setPositiveButton("Confirm", (dialogInterface, i) -> {
  44. finish();
  45. }).create();
  46. dialog.show();
  47. }
  48. /**
  49. * 打开相册
  50. */
  51. private void photoSelect() {
  52. /*Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
  53. intent.addCategory(Intent.CATEGORY_OPENABLE);
  54. intent.setType("image/jpeg");
  55. RxActivityResult.on(this)
  56. .startIntent(intent)
  57. .filter(result -> result.data() != null)
  58. .map(result -> result.data().getData())
  59. .doOnNext(this::getUri)
  60. .subscribe();*/
  61. }
  62. private void getUri(Uri uri) {
  63. /*cropImageView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
  64. @Override
  65. public void onGlobalLayout() {
  66. cropImageView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
  67. //自定义裁剪-全屏的裁剪
  68. Bitmap.Config conf = Bitmap.Config.ARGB_8888; // see other conf types
  69. Bitmap bitmap = Bitmap.createBitmap(cropImageView.getWidth(), cropImageView.getHeight(), conf);
  70. cropImageView.setImageBitmap(bitmap);
  71. }
  72. });*/
  73. }
  74. }