我有一个使用Android服务的想法,并且我需要能够在拍摄照片之前访问它们,以保存GPSlocation,此外,此后我还需要立即访问照片。
有什么合适的方法吗?
答案 0 :(得分: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);
}
}
答案 1 :(得分:0)
由于背景限制,您无法执行此操作。从Android O开始,implicit broadcasts不再与a few exceptions(不包括photo taken broadcast)一起交付给应用程序。如果要监视其他应用程序保存的文件和照片,则需要与该应用程序的内容提供程序(如果有)一起使用,或者监视可以通过Context.getExternalMediaDirs()获取的媒体文件夹。>