如何通过其他应用程序使用的相机拍摄后访问图片

问题描述 投票:-1回答:2

我有一个Android服务的想法,我需要能够在他们被拍摄之前访问图片,以节省GPS位置,此外,我还需要立即访问图片。

有没有正确的方法呢?

android android-camera
2个回答
0
投票

请擅长:Photo Intents

  static final int REQUEST_IMAGE_CAPTURE = 1;

private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
    startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
    }
}

此代码打开了应用程序选择器对话框。从那里,用户可以选择他们喜欢使用的任何相机应用程序。

要获取照片结果,您需要覆盖onActiviyResult并获取所需的照片。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
     if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
      Bundle extras = data.getExtras();
      Bitmap imageBitmap = (Bitmap) extras.get("data");
      imageView.setImageBitmap(imageBitmap);
      }
  }

0
投票

由于背景限制,您无法执行此操作。从Android O开始,implicit broadcasts不再通过a few exceptions(不包括photo taken broadcast)提供给应用程序。如果您想要监控其他应用程序保存的文件和照片,您需要使用该应用程序的内容提供商(如果有),或者监控您可以通过Context.getExternalMediaDirs()获取的媒体文件夹。

© www.soinside.com 2019 - 2024. All rights reserved.