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);
}
}
}