Permission Using Global Class

0
         
 Permission From basic


public class MainActivity extends AppCompatActivity {
    private static final int CALL_PERMISSION_REQUEST_CODE = 1001;
    EditText editText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText = findViewById(R.id.phone);
    }

    public void callToNum(View view) {
        requestCallPermission();
    }

    private void requestCallPermission() {
        if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE) == PackageManager.PERMISSION_GRANTED) {
            makePhoneCall();
        } else {
            ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CALL_PHONE}, CALL_PERMISSION_REQUEST_CODE);
        }
    }

    private void makePhoneCall() {
        String phoneNumber = editText.getText().toString().trim();
        if (!phoneNumber.isEmpty()) {
            Intent intent = new Intent(Intent.ACTION_CALL);
            intent.setData(Uri.parse("tel:" + phoneNumber));
            startActivity(intent);
        }
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (requestCode == CALL_PERMISSION_REQUEST_CODE) {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                makePhoneCall();
            } else {
                // Handle the case when the user denies the permission (e.g., show a message)
            }
        }
    }
}

         
 Using Global Class



/**
 * This class is Made By Akash Pal (6387040456).
 * This class Provide Public To access anywhere Permissions.
 */
public class PermissionManager {
    public static int REQUEST_CODE = 1001; // Change the value as needed
    
    /**
     * This Method is Check if an array of permissions is granted..
     */
    public static boolean isPermissionsGranted(Activity activity, String[] permissions) {
        for (String permission : permissions) {
            int result = ContextCompat.checkSelfPermission(activity, permission);
            if (result != PackageManager.PERMISSION_GRANTED) {
                return false;
            }
        }
        return true;
    }
    
    /**
     * This Method is Request permissions.
     */

    public static void requestPermissions(Activity activity, String[] permissions, int requestCode) {
        ActivityCompat.requestPermissions(activity, permissions, requestCode);
    }
    /**
     * This Method is Handle the permission request result.
     */
    
    public static void onRequestPermissionsResult(Activity activity, int requestCode, String[] permissions, int[] grantResults) {
        if (requestCode == REQUEST_CODE) {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                // Permission granted, you can perform the necessary action here
            } else {
                // Permission denied, handle it as needed (e.g., show a message)
            }
        }
    }
}
         
 Uses Of That Class


public class MainActivity extends AppCompatActivity {
    EditText editText;
    String[] permissions = new String[]{
            Manifest.permission.CALL_PHONE};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText = findViewById(R.id.phone);
        permission();

    }

    public void callToNum(View view) {
        if (PermissionManager.isPermissionsGranted(this, permissions)) {
            makePhoneCall();
        } else {
            PermissionManager.requestPermissions(this, permissions, PermissionManager.REQUEST_CODE);
        }
    }


    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        PermissionManager.onRequestPermissionsResult(this, requestCode, permissions, grantResults);
        if (requestCode == PermissionManager.REQUEST_CODE) {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                makePhoneCall();
            } else {
                // Handle the case when the user denies the permission (e.g., show a message)
            }
        }
    }

    private void makePhoneCall() {
        String phoneNumber = editText.getText().toString().trim();
        if (!phoneNumber.isEmpty()) {
            Intent intent = new Intent(Intent.ACTION_CALL);
            intent.setData(Uri.parse("tel:" + phoneNumber));
            startActivity(intent);
        }
    }

   void permission(){

    }
}

         
 Pic Image From Gallery



  public class MainActivity extends AppCompatActivity {
    EditText editText;
    ImageView imageView;
    int IMAGE_REQUEST_CODE=10;
    String[] permissions = new String[]{
            Manifest.permission.CALL_PHONE,
            Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.WRITE_EXTERNAL_STORAGE,
            Manifest.permission.MANAGE_EXTERNAL_STORAGE,
            Manifest.permission.SEND_SMS};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText = findViewById(R.id.phone);
        imageView = findViewById(R.id.imageview);
        permission();

    }

    public void callToNum(View view) {
        if (PermissionManager.isPermissionsGranted(this, permissions)) {
            makePhoneCall();
        } else {
            PermissionManager.requestPermissions(this, permissions, PermissionManager.REQUEST_CODE);
        }
    }


    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        PermissionManager.onRequestPermissionsResult(this, requestCode, permissions, grantResults);
        if (requestCode == PermissionManager.REQUEST_CODE) {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                makePhoneCall();
            } else {
                // Handle the case when the user denies the permission (e.g., show a message)
            }
        }
    }

    private void makePhoneCall() {
        String phoneNumber = editText.getText().toString().trim();
        if (!phoneNumber.isEmpty()) {
            Intent intent = new Intent(Intent.ACTION_CALL);
            intent.setData(Uri.parse("tel:" + phoneNumber));
            startActivity(intent);
        }
    }

   void permission(){

    }

    public void galleryOpen(View view) {
        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);

        startActivityForResult(Intent.createChooser(intent,"Select Picture"),IMAGE_REQUEST_CODE);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode==RESULT_OK && requestCode== IMAGE_REQUEST_CODE){
            Uri uri = data.getData();
            if (uri !=null){
                try {
                    Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri);
                    Log.d("bitmap",""+bitmap);
                    imageView.setImageBitmap(bitmap);
                    // Convert the Bitmap to a base64 string
                    ByteArrayOutputStream baos = new ByteArrayOutputStream();
                    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
                    byte[] imageBytes = baos.toByteArray();
                    String base64Image = Base64.encodeToString(imageBytes, Base64.DEFAULT);
                    Log.d("base64Image",""+base64Image);

                } catch (IOException e) {
                    Toast.makeText(this, ""+e.getMessage(), Toast.LENGTH_SHORT).show();
                }
              //  imageView.setImageURI(uri);
                Log.d("ImageData",""+uri);
            }
        }

    }
}
    
    
         
 Pic Image Capture Image Bitmap Array Everything




public class MainActivity extends AppCompatActivity {
    EditText editText;
    ImageView imageView;
    int IMAGE_REQUEST_CODE=10;
    String[] permissions = new String[]{
            Manifest.permission.CALL_PHONE,
            Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.WRITE_EXTERNAL_STORAGE,
            Manifest.permission.MANAGE_EXTERNAL_STORAGE,
            Manifest.permission.SEND_SMS};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText = findViewById(R.id.phone);
        imageView = findViewById(R.id.imageview);
        permission();

        if (new SessionConfig(MainActivity.this).getPhone() !=null){
            // Decode the base64 string into a Bitmap
            byte[] decodedImageBytes = Base64.decode(new SessionConfig(MainActivity.this).getPhone(), Base64.DEFAULT);
            Bitmap decodedImage = BitmapFactory.decodeByteArray(decodedImageBytes, 0, decodedImageBytes.length);

            // Set the decoded Bitmap to your ImageView
            imageView.setImageBitmap(decodedImage);
        }



    }

    public void callToNum(View view) {
        if (PermissionManager.isPermissionsGranted(this, permissions)) {
            makePhoneCall();
        } else {
            PermissionManager.requestPermissions(this, permissions, PermissionManager.REQUEST_CODE);
        }
    }


    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        PermissionManager.onRequestPermissionsResult(this, requestCode, permissions, grantResults);
        if (requestCode == PermissionManager.REQUEST_CODE) {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                makePhoneCall();
            } else {
                // Handle the case when the user denies the permission (e.g., show a message)
            }
        }
    }

    private void makePhoneCall() {
        String phoneNumber = editText.getText().toString().trim();
        if (!phoneNumber.isEmpty()) {
            Intent intent = new Intent(Intent.ACTION_CALL);
            intent.setData(Uri.parse("tel:" + phoneNumber));
            startActivity(intent);
        }
    }

   void permission(){

    }

    public void galleryOpen(View view) {
        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        
        startActivityForResult(Intent.createChooser(intent,"Select Picture"),IMAGE_REQUEST_CODE);
        
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (resultCode==RESULT_OK && requestCode== IMAGE_REQUEST_CODE){
            Uri uri = data.getData();
            if (uri !=null){
                try {
                    Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri);
                    Log.d("bitmap",""+bitmap);
                    //imageView.setImageBitmap(bitmap);
                    // Convert the Bitmap to a base64 string
                    ByteArrayOutputStream baos = new ByteArrayOutputStream();
                    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
                    byte[] imageBytes = baos.toByteArray();
                    String base64Image = Base64.encodeToString(imageBytes, Base64.DEFAULT);
                    Log.d("base64Image",""+base64Image);
                    new SessionConfig(MainActivity.this).setPhone(base64Image);

                    byte[] decodedImageBytes = Base64.decode(base64Image, Base64.DEFAULT);
                    Bitmap decodedImage = BitmapFactory.decodeByteArray(decodedImageBytes, 0, decodedImageBytes.length);

                    // Set the decoded Bitmap to your ImageView
                    imageView.setImageBitmap(decodedImage);



                } catch (IOException e) {
                    Toast.makeText(this, ""+e.getMessage(), Toast.LENGTH_SHORT).show();
                }
              //  imageView.setImageURI(uri);
                Log.d("ImageData",""+uri);
            }
        }else if (requestCode == PermissionManager.REQUEST_CODE) {
            // Camera image capture logic
            Bitmap bitmap = (Bitmap) data.getExtras().get("data");

            if (bitmap != null) {
                // Convert the captured Bitmap to a base64 string
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
                byte[] imageBytes = baos.toByteArray();
                String base64Image = Base64.encodeToString(imageBytes, Base64.DEFAULT);

                // Save the base64 image to your session or wherever needed
                new SessionConfig(MainActivity.this).setPhone(base64Image);

                // Set the captured Bitmap to your ImageView
                imageView.setImageBitmap(bitmap);
            }
        }

    }

    public void camera_open(View view) {
        Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
            startActivityForResult(takePictureIntent, PermissionManager.REQUEST_CODE);
        }
    }
}
    

Post a Comment

0Comments
Post a Comment (0)