how to use queryIntentActivityOptions() method

前端 未结 3 1278
灰色年华
灰色年华 2021-01-29 06:16

Am trying to create a dialog that shows all applications in a user phone that can be used to select a picture from the storage or take one using the camera. below are my two int

3条回答
  •  梦如初夏
    2021-01-29 07:14

    check the below working code to open, Camera and browse through gallery at once.

     // Picks Camera first.
    final List cameraIntents = new ArrayList();
    final Intent captureIntent = new Intent(
            android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    final PackageManager packageManager = getPackageManager();
    final List listCam = packageManager.queryIntentActivities(
            captureIntent, 0);
    for (ResolveInfo res : listCam) {
      final String packageName = res.activityInfo.packageName;
      final Intent intent = new Intent(captureIntent);
      intent.setComponent(new ComponentName(res.activityInfo.packageName,
              res.activityInfo.name));
      intent.setPackage(packageName);
      intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
      cameraIntents.add(intent);
    }
    
    final Intent galleryIntent = new Intent();
    galleryIntent.setType("image/*");
    galleryIntent.setAction(Intent.ACTION_PICK);
    
    // Chooser of filesystem options.
    final Intent chooserIntent = Intent.createChooser(galleryIntent,
            "Select Image from");
    
    // Add the camera options.
    chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS,
            cameraIntents.toArray(new Parcelable[]{}));
    
    startActivityForResult(chooserIntent, TAKE_PHOTO_CODE);
    

    This will help you.!!

    Reference links and tutorials click here.

提交回复
热议问题