2011-12-27 10 views
19

Próbuję wykonać wiele zdjęć za pomocą domyślnej aplikacji aparatu fotograficznego uruchomionej w ramach działania (MediaStore.ACTION_IMAGE_CAPTURE). Dzięki urządzeniom, które testuję, kamera uruchamia się, robi zdjęcie, prosi o potwierdzenie, a następnie wraca do mojej aktywności, w której przetwarzam wynik.Jak zrobić kilka zdjęć przed odrzuceniem intencji kamery?

Rozważałem użycie wywołań zwrotnych odbiornika lub obserwatora zawartości; nie mogę jednak znaleźć sposobu na uruchomienie aparatu i utrzymywanie go w stanie aktywności do momentu ukończenia przez użytkownika. Jeśli to możliwe, chcę uniknąć tworzenia niestandardowej aplikacji kamery.

Powodem, dla którego muszę to zrobić, jest to, że użytkownicy zwykle muszą robić wiele zdjęć z rzędu, a na niektórych urządzeniach czas uruchamiania aparatu wynosi ponad 5 sekund, a użytkownicy korzystający z oprogramowania wykonują kolejno 10 - 30 zdjęć ; nie tylko to, ale potrzebują kontroli nad różnymi parametrami kamery.

Czy istnieje sposób, aby uruchomić intencję kamery i powrócić do mojej aktywności, gdy użytkownik wyjdzie z aplikacji kamery?

Odpowiedz

18

odkryłem dzięki dokumentacji SDK, że istnieje alternatywa zamiarem działania dla kamery urządzenia, który uruchamia aparat w trybem zdjęć i nie zakończy, dopóki użytkownik nie jest wykończony działalności:

Intent intent = new Intent(
    MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA); 
this.startActivity(intent); 

połączeniu z ContentObserver to było dokładnie to, czego potrzebowałem do wykonania.

+0

to działa dobrze.Ale po naciśnięciu z powrotem key.i otrzymuję wskaźnik wskaźnika null wyjątek.Możesz sugerować mi, jak mogę się go pozbyć. – Meghna

+0

@ Chris Hutchinson: robi wiele zdjęć. ale jak uzyskać ścieżkę przechwyconego obrazu lub fileName do naszej aplikacji? – John

+0

To było całkiem dawno temu, ale najlepszą metodą, jaką spotkałem, było użycie ContentObserver do wykrycia, kiedy obraz jest tworzony. Jeśli nie znajdziesz wystarczająco wiarygodnego, możesz sprawdzić, czy ścieżka znajduje się w katalogu kamery telefonu. Może istnieć interfejs API do zlokalizowania tego katalogu. Nie pamiętam. –

Powiązane problemy