Intereting Posts
Android Studio: имя keymap / shortcut, которое отображает подсказку параметров метода? Добавление ссылочных банок в файл android build.xml Android – Firebase – Нужно ли мне удалять КАЖДОГО одного слушателя? Получать сообщения GCM, даже когда приложение закрыто (слайд / отмахнулся) RecyclerView onCreateViewHolder Тип возвращаемого типа несовместимости с несколькими пользовательскими часами ViewHolders Каждые 1 минуту Gps LatLong Получение от сервера, отображаемого на карте как маркер. Но Marker Geting Дублирование Подключение к Bluetooth программно UnsuppotedOperationException.getCause возвращает себя Чистое приложение c ++ для Android и его производительность Android создает и записывает xml в файл Telephony.Sms.Inbox.PERSON использует устаревшие Contacts.People._ID Android KeyboardView не изменяет размер при повороте События, созданные Android Monkey, не совпадают, когда семена одинаковы Как сделать собственный пользовательский дозвон на Android-телефоне Действия не найдены для обработки Intent {act = android.intent.action.EDIT typ = vnd.android.cursor.item / event

Как получить доступ к камере на телефонах Android?

Я написал программу на Java, которая принимает файл изображения и манипулирует изображением. Теперь я пытаюсь получить доступ к камере, чтобы я мог взять фотографию и передать ее программе обработки изображений, но я потерял ее, как это сделать. Я прочитал информацию о классе камеры и о том, как запрашивать разрешения, но я не знаю, как на самом деле фотографировать. Если у кого-нибудь есть подсказки о том, где я должен начать, или если они знают хороший учебник, я бы очень признателен. Благодаря!

Google – ваш лучший друг, вот несколько уроков:

Использование камеры

How-To Program Камера Google Android для съемки

Снять изображение с эмулятора камеры

камера

Сначала отредактируйте свой AndroidManifest.xml, добавьте разрешение камеры:

<uses-permission android:name=”android.permission.CAMERA”/> 

Службу камеры необходимо открыть и закрыть:

 Camera camera = Camera.open(); //Do things with the camera camera.release(); 

Вы можете установить настройки камеры, например:

 Camera.Parameters parameters = camera.getParameters(); parameters.setPictureFormat(PixelFormat.JPEG); camera.setParameters(parameters); 

Сфотографировать:

 private void takePicture() { camera.takePicture(shutterCallback, rawCallback, jpegCallback); } ShutterCallback shutterCallback = new ShutterCallback() { public void onShutter() { // TODO Do something when the shutter closes. } }; PictureCallback rawCallback = new PictureCallback() { public void onPictureTaken(byte[] _data, Camera _camera) { // TODO Do something with the image RAW data. } }; PictureCallback jpegCallback = new PictureCallback() { public void onPictureTaken(byte[] _data, Camera _camera) { // TODO Do something with the image JPEG data. } }; 

Не забудьте добавить макет камеры в свой основной макет xml.

Есть много способов, с помощью которых вы можете это сделать … Один из лучших способов, который, по моему мнению, является коротким и простым, заключается в том, чтобы на Button Click u можно вызвать намерение, которое открывает ур встроенный просмотр камеры … вот пример кода …

 public class CameraDemo extends Activity { Button ButtonClick; int CAMERA_PIC_REQUEST = 2; int TAKE_PICTURE=0; Camera camera; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ButtonClick =(Button) findViewById(R.id.Camera); ButtonClick.setOnClickListener(new OnClickListener (){ @Override public void onClick(View view) { Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if( requestCode == CAMERA_PIC_REQUEST) { Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); ImageView image =(ImageView) findViewById(R.id.PhotoCaptured); image.setImageBitmap(thumbnail); } else { Toast.makeText(demo.this, "Picture NOt taken", Toast.LENGTH_LONG); } } } 

………………………………………….. …………

Пройдите через него, и если у вас возникнет проблема, не стесняйтесь спрашивать …

Ракеш

Есть два способа сделать снимок для вашего приложения для Android

1) Использование намерения

 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // create a file to save the image intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name // start the image capture Intent startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE); 

2) Создание настраиваемой активности камеры. Для этого вам понадобятся следующие шаги

  * Detect and Access Camera * Create a Preview Class * Build a Preview Layout * Capture and Save Files * Release the Camera 

Вы также можете ссылаться на следующие ссылки:

http://developer.android.com/guide/topics/media/camera.html http://developer.android.com/reference/android/hardware/Camera.html

Самый важный метод:

 Camera.PictureCallback mPictureCallback = new Camera.PictureCallback() { public void onPictureTaken(byte[] imageData, Camera c) { } }; 

Этот метод вызывается при съемке. Вот хороший учебник по этой теме: http://www.brighthub.com/mobile/google-android/articles/43414.aspx

Хм … или, может быть, вам нужно это:

 Camera mCamera; ... public void onClick(View arg0) { mCamera.takePicture(null, mPictureCallback, mPictureCallback); } 

Вот еще один пример: http://snippets.dzone.com/posts/show/8683