Articles of android camera intent

Android:BroadcastReceiver意图检测相机拍摄的照片?

我正在开发一个Android应用程序,每次使用手机拍摄新图像时都需要执行一个操作。 我不想在应用程序中拍摄图像,而是在相机应用程序拍摄图像并将其保存到SD卡时执行一些操作。 现在,我得到了一个BroadcastReceiver,目前正在侦听“android.intent.action.CAMERA_BUTTON”。 但是,这似乎并没有被调用,当我想要它。 我尝试在自己的电话上用BroadcastReceiver的OnReceive方法的第一行中的换行符来debugging应用程序,但它永远不会到达该代码。 有谁知道我应该听的正确意图是什么? 还是使用BroadcastReceiver甚至不是最好的方式来做到这一点? (例如,有没有更好的方法来完成这一点,比如听一个新的图像保存到卡上)? 谢谢! 更新:我的手机上有一个轨迹球(HTC Eris),那么以这种方式拍摄照片可能不会作为“相机button”发送? 如果是这样,有没有一个“相机button”,而是像一个轨迹球的手机的解决方法?

安卓相机的人像定位

我在我的应用程序中使用相机。 我只是用intent启动相机 Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); startActivityForResult(cameraIntent, 101); 捕获的图像自动进入landscape view 。 如何让camera以portrait view捕捉图像

如何获得刚刚从相机拍摄的图像path

下面是我的代码,但没有给我onActivity结果中的图像path Uri selectedImageUri = data.getData(); selectedImagePath = getPath(selectedImageUri); Log.w("jay", "Camera Image Path :" + selectedImagePath); Toast.makeText(MiscansOther_pannel.this, selectedImagePath, Toast.LENGTH_LONG).show();

当我select任何第三方相机应用程序时,相机意图中的空指针exception

我的问题是,每次我select第三方相机应用程序,例如美丽加相机 ,我每次都得到空指针例外,我的代码是完全适用于默认的相机应用程序,它甚至可以与谷歌的新相机为摩托系列手机。 非常第一次对话框来select画廊或相机选项在这里: private void OpenDialogForImage() { final CharSequence[] items = { "Gallary", "Camera", "Cancel" }; AlertDialog.Builder builder = new AlertDialog.Builder(activity); builder.setItems(items, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { // Do something with the selection switch (item) { case 0: Intent intent1 = new Intent( Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); intent1.setType("image/*"); startActivityForResult( Intent.createChooser(intent1, "Select File"), […]

捕捉照片旋转90度在三星手机

照相机正在旋转90度,同时从其他手机(HTC)的三星移动rest相机捕获其工作正常。 请帮我这个。 Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(cameraIntent, IMAGE_CAPTURE); @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); try { if (requestCode == IMAGE_CAPTURE) { if (resultCode == RESULT_OK){ Uri contentUri = data.getData(); if(contentUri!=null) { String[] proj = { MediaStore.Images.Media.DATA }; Cursor cursor = managedQuery(contentUri, proj, null, null, null); int column_index […]

启动默认相机应用程序(不返回)

我想启动默认相机,但希望它像从启动程序启动(即生成的图片应该由相机应用程序存储到用户的画廊,而不是被返回到我的应用程序)。 如果我使用Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); ,相机应用程序使用“确定?重试?” – 用户界面,不保存图片。 我宁愿不使用“直接” com.android.camera意图,因为很多设备使用自定义相机应用程序。 我已经看到,库gallery3d应用程序使用别名实现com.android.camera/.Camera ,但我不确定每个预装制造商的相机应用程序这样做。

在Android Nougat拍摄照片后,BitmapFactory无法解码来自Uri的位图

我试图拍照,然后使用照片。 这是我做的。 我的设备是Nexus 6P(Android 7.1.1) 。 首先,我创build了一个Uri : Uri mPicPath = UriUtil.fromFile(this, UriUtil.createTmpFileForPic()); //Uri mPicPath = UriUtil.fromFile(this, UriUtil.createFileForPic()); 然后,我开始Intent : Intent intent = ActivityUtils.getTakePicIntent(mPicPath); if (intent.resolveActivity(getPackageManager()) != null) { startActivityForResult(intent, RequestCode.TAKE_PIC); } 最后,我在onActivityResult上处理了这个Uri : if (requestCode == RequestCode.TAKE_PIC) { if (resultCode == RESULT_OK && mPicPath != null) { Bitmap requireBitmap = BitmapFactory.decodeFile(mPicPath.getPath()); //path is like […]

Android – 通过Intent将照片和自定义名称保存到自定义目的地

我有一个程序,通过意图打开相机拍照。 这很多部分已经正常工作。 不过,我希望它保存到某个文件夹的某个文件名(文件名是可选的,但真的很有帮助)。 所以这就是我到目前为止。 以下是打开相机的代码行: //TODO camera stuff. Intent openCam = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //The two lines of code below were commented out at first. //They were eventually added when I tried to save it with a custom name and destination fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // create a file to save the image openCam.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set […]

android.provider.MediaStore.ACTION_VIDEO_CAPTURE返回null onActivityResult与nexus 7

我正在使用意图录制video。 所以我使用recordVideobutton的点击下面的代码 Videofilepath = ""; Intent intent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE); startActivityForResult(intent,REQUEST_VIDEO_CAPTURED); 并在onActivityResult protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == Activity.RESULT_OK) { switch (requestCode) { case IMAGE_PICK: this.imageFromGallery(resultCode, data); break; case IMAGE_CAPTURE: this.imageFromCamera(resultCode, data); break; case REQUEST_VIDEO_CAPTURED: this.videoFromCamera(resultCode, data); break; default: break; } } } private void videoFromCamera(int resultCode, Intent data) […]

如何在Android中写入Exif数据到图像?

我正在尝试在使用exif界面的Android应用程序User_Comment和TAG_GPS写入捕获的图像,但由于某些原因,当我在图库中查看图像的详细信息时,标签似乎不会附加到图像上。 看起来,也许标签没有被写入捕获的图像,因为文件path可能是错误的。 我认为这可能是因为我已经写了标签到一个不正确的图像path。 有没有人知道,如果他们的方式,我写标签的形象是一个问题? 这是下面的@ Charlie更改后保存exif数据的代码: private File getOutputPhotoFile() throws IOException { File directory = new File(Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES), getPackageName()); if (!directory.exists()) { if (!directory.mkdirs()) { Log.e(TAG, "Failed to create storage directory."); return null; } } String timeStamp = new SimpleDateFormat("yyyMMdd_HHmmss", Locale.ENGLISH).format(new Date()); File[] files = directory.listFiles(); File exifVar = new File(directory.getPath(), "IMG_" + timeStamp + […]