Chciałbym uruchomić domyślną kamerę, ale chcę, aby działała tak, jak została uruchomiona z programu uruchamiającego (tj. Wynikowy obraz powinien być zapisany przez aplikację aparatu do galerii użytkownika, zamiast powrotu do mojej aplikacji). Jeśli używam Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
, aplikacja aparatu używa "OK? Ponów próbę?" - interfejs użytkownika i nie zapisuje obrazu. Wolę nie używać "bezpośredniej" intencji com.android.camera
, ponieważ wiele urządzeń korzysta z niestandardowych aplikacji aparatu. Widziałem, że galeria gallery3d-app używa aliasu implementującego com.android.camera/.Camera
, ale nie jestem pewien, że robi to każda fabrycznie zainstalowana aplikacja aparatu.Uruchom domyślną aplikację aparatu (bez powrotu)
8
A
Odpowiedz
10
Mam teraz realizowane to tak:
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
try {
PackageManager pm = mContext.getPackageManager();
final ResolveInfo mInfo = pm.resolveActivity(i, 0);
Intent intent = new Intent();
intent.setComponent(new ComponentName(mInfo.activityInfo.packageName, mInfo.activityInfo.name));
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(intent);
} catch (Exception e){ Log.i(TAG, "Unable to launch camera: " + e); }
5
Ten kod rade:
Intent intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
context.startActivity(intent);
+0
Ta intencja wydaje się być lepsza od MediaStore.ACTION_IMAGE_CAPTURE, ponieważ poprzednia otwiera określone aplikacje kamery w trybie, który jest wyłączny dla Zdjęć, nie zezwalając użytkownikowi na przełączanie się na wideo. MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA nie ma podobnego ograniczenia. –
Powiązane problemy
- 1. Uruchom Natywną kamerę bez pokazywania opcji wyboru
- 2. Uruchom aplikację React Native bez uruchamiania Xcode?
- 3. golang: uruchom domyślną aplikację dla pliku pdf na Windows
- 4. Uruchom aplikację C# na Windows Uruchom
- 5. Uruchom aplikację .NET jako administrator
- 6. uruchom aplikację internetową z geventem
- 7. Git Bash: Uruchom aplikację przez Alias bez zawieszania Bash (WIndows)
- 8. Uruchom Angular2 jako aplikację statyczną w przeglądarce bez serwera.
- 9. Uruchom aplikację z adresem URL
- 10. WiX - uruchom aplikację po instalacji
- 11. Uruchom aplikację o określonej godzinie
- 12. Uruchom aplikację po pomyślnej instalacji
- 13. W interpreter Pythona, bez powrotu "'"
- 14. Uruchom aplikację uniwersalną jako "starszą" aplikację na iPhona na iPadzie
- 15. Uruchom aplikację node.js w debugowaniu z opiekunem
- 16. Ponownie uruchom moją aplikację Phonegap programowo
- 17. Uruchom aplikację zewnętrzną z pliku node.js
- 18. Uruchom aplikację webową maven w kontenerze dokowania
- 19. Android Uruchom inną aplikację, gdy blokada zadania
- 20. Uruchom aplikację javaFX z kodu Java
- 21. Uruchom aplikację erlang z wiersza poleceń
- 22. Java, uruchom inną aplikację na pierwszym planie
- 23. Uruchom aplikację Python CGI na Heroku
- 24. Uruchom aplikację django na apache z uWSGI
- 25. Uruchom aplikację Metro z niestandardowej powłoki
- 26. Podgląd aparatu FullScreen bez zniekształceń/rozciągania
- 27. uruchom xterm -e bez kończenia
- 28. Gulp: uruchom zadanie bez przeznaczenia
- 29. Uruchom program elisp bez Emacsa?
- 30. Ponownie uruchom nginx bez sudo?
Uwaga, można zamienić na 'Intent.ACTION_MAIN' i wymienić działania z' MediaStore.ACTION_IMAGE_CAPTURE', aby aplikacja uruchamiała się w trybie fotografowania lub 'MediaStore.ACTION_VIDEO_CAPTURE', aby uruchomić aplikację w trybie nagrywania filmów. – pents90
jeśli robisz to z usługi w tle, będziesz musiał dodać intent.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK); –
Ta odpowiedź nie działa! To otwiera Kontakty, Youtube i inne nieistotne aplikacje. – NecipAllef