Skip to content

Snappy1

  • Home
  • Android
  • What
  • How
  • Is
  • Can
  • Does
  • Do
  • Why
  • Are
  • Who
  • Toggle search form

[FIXED] how to give multiple runtime permissions in android Q programmatically

Posted on November 11, 2022 By

Solution 1 :

  public static void PermissionCheck(Context context) {
        int REQUEST_PERMISSIONS = 20;
        if (!AppUtils.isPremissionsGranted(context)) {
            AppUtils.requestAppPermissions(new
                            String[]{
                            Manifest.permission.ACCESS_FINE_LOCATION,
                            Manifest.permission.ACCESS_COARSE_LOCATION,
                            Manifest.permission.WRITE_CONTACTS,
                            Manifest.permission.WRITE_EXTERNAL_STORAGE,
                            Manifest.permission.CAMERA,
                            Manifest.permission.READ_PHONE_STATE},
                    REQUEST_PERMISSIONS, context);
        }

    }

Solution 2 :

   @Override
public void onRequestPermissionsResult(int requestCode,
                                       @NonNull String permissions[], @NonNull int[] grantResults) {
    switch (requestCode) {
        case MY_PERMISSIONS_REQUESTS: {
            if (grantResults.length > 0
                    && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            } else {
                // FIXME: Handle this case the user denied to grant the permissions
            }
            break;
        }
        default:
            // TODO: Take care of this case later
            break;
    }
}

private void requestPermissions() {
    List<String> requiredPermissions = new ArrayList<>();

    if (ContextCompat.checkSelfPermission( this, Manifest.permission.WRITE_EXTERNAL_STORAGE )
            != PackageManager.PERMISSION_GRANTED) {
        requiredPermissions.add( Manifest.permission.WRITE_EXTERNAL_STORAGE );
    }

    if (ContextCompat.checkSelfPermission( this, Manifest.permission.CAMERA )
            != PackageManager.PERMISSION_GRANTED) {
        requiredPermissions.add( Manifest.permission.CAMERA );
    }

    if (!requiredPermissions.isEmpty()) {
        ActivityCompat.requestPermissions( this,
                requiredPermissions.toArray( new String[]{} ),
                MY_PERMISSIONS_REQUESTS );
    }
}

Problem :

 private void CheckPermissions() {
        RxPermissions.getInstance(SpalshActivity.this)
                .request(
                        android.Manifest.permission.READ_EXTERNAL_STORAGE,
                        android.Manifest.permission.WRITE_EXTERNAL_STORAGE,
                        android.Manifest.permission.CAMERA,
                        android.Manifest.permission.CALL_PHONE
                )
                .subscribe(new Action1<Boolean>() {
                    @Override
                    public void call(Boolean aBoolean) {
                        initialize(aBoolean);
                    }
                }, new Action1<Throwable>() {
                    @Override
                    public void call(Throwable throwable) {
                    }
                });
    }

    private void initialize(boolean isAppInitialized) {
        if (isAppInitialized) {
            Thread background = new Thread() {
                public void run() {
                    try {


                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            };

            background.start();

        } else {
            //If one Of above permission not grant show alert (force to grant permission)
            AlertDialog.Builder builder = new AlertDialog.Builder(SpalshActivity.this);
            builder.setTitle("Alert");
            builder.setMessage("All permissions necessary");

            builder.setPositiveButton("Allow", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    CheckPermissions();
                }
            });

            builder.setNegativeButton("Exit", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    finish();
                }
            });

            builder.show();
        }
    }

Comments

Comment posted by Naveen kumar

We can check multiple permissions using String array.

Comment posted by Naveen kumar

Feel free to ask if you are having any issue.

Comment posted by Sunil Chaudhary

private static final int MY_PERMISSIONS_REQUESTS = 0; and from onCreateactivity() call requestPermissions();

READ  [FIXED] android - Firebase Auth with Kotlin Flow
Powered by Inline Related Posts
Android Tags:android

Post navigation

Previous Post: [FIXED] activity_main.xml for android studio stuck on loading
Next Post: Can a beginner learn Moonlight Sonata 1st Movement?

Related Posts

[FIXED] android – Google Map Marker Cluster error when using custom icons Android
[FIXED] Android app: This IP, site or mobile application is not authorized to use this API key Android
[FIXED] php – Should we put a timer on server or mobile? Android
[FIXED] android – ACRA email sender Android
[FIXED] java – Iterating over R.string.name Android
[FIXED] Android Studio disable NFC Android

Archives

  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022

Categories

  • ¿Cómo
  • ¿Cuál
  • ¿Cuándo
  • ¿Cuántas
  • ¿Cuánto
  • ¿Qué
  • Android
  • Are
  • At
  • C'est
  • Can
  • Comment
  • Did
  • Do
  • Does
  • Est-ce
  • Est-il
  • For
  • Has
  • Hat
  • How
  • In
  • Is
  • Ist
  • Kann
  • Où
  • Pourquoi
  • Quand
  • Quel
  • Quelle
  • Quelles
  • Quels
  • Qui
  • Should
  • Sind
  • Sollte
  • Uncategorized
  • Wann
  • Warum
  • Was
  • Welche
  • Welchen
  • Welcher
  • Welches
  • Were
  • What
  • What's
  • When
  • Where
  • Which
  • Who
  • Who's
  • Why
  • Wie
  • Will
  • Wird
  • Wo
  • Woher
  • you can create a selvedge edge: You can make the edges of garter stitch more smooth by slipping the first stitch of every row.2022-02-04
  • you really only need to know two patterns: garter stitch

Recent Posts

  • Which is stronger 19 gauge or 23 gauge?
  • Does BMW still use GM transmissions?
  • Is primary or secondary market research better?
  • What does it mean when ADT says low battery?
  • Can a baby sleep on a regular mattress?

Recent Comments

No comments to show.

Copyright © 2023 Snappy1.

Powered by PressBook Grid Dark theme