Vorrei avviare la fotocamera predefinita, ma voglio che si comporti come se fosse stata avviata dal programma di avvio (ovvero l'immagine risultante dovrebbe essere memorizzata dall'app della fotocamera nella galleria dell'utente, piuttosto che essere restituito alla mia app). Se utilizzo Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
, l'app fotocamera utilizza "OK? Riprova?" - Interfaccia utente e non salva l'immagine. Preferirei non utilizzare un intento "diretto" com.android.camera
, perché molti dispositivi utilizzano app per telecamera personalizzate. Ho visto che l'applicazione gallery3d-app utilizza un alias che implementa com.android.camera/.Camera
, ma non sono sicuro che ogni app fotocamera del produttore precaricata lo faccia.Avviare l'app fotocamera predefinita (senza restituzione)
8
A
risposta
10
Ora ho implementato in questo modo:
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
Questo codice farà il trucco:
Intent intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
context.startActivity(intent);
+0
Questo intento sembra essere superiore a MediaStore.ACTION_IMAGE_CAPTURE, perché la precedente apre alcune app della fotocamera in una modalità esclusiva per Photos, che non consente all'utente di passare al video. MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA non sembra soffrire della stessa limitazione. –
Problemi correlati
- 1. Posso forzare la mia applicazione ad avviare la fotocamera predefinita piuttosto che l'elenco "Completa azione utilizzando"?
- 2. Come avviare la fotocamera frontale con intenzione?
- 3. Func delegate senza restituzione tipo
- 4. UIApplicationShortcutItem senza avviare
- 5. Attività fotocamera predefinita non finita Su OK pulsante premere
- 6. Proprietà predefinita senza nome
- 7. UIImagePickerController Scattare una foto dalla fotocamera - Impostazione predefinita per quadrare
- 8. Fotocamera dal vivo e microfono senza flash
- 9. Usa fotocamera Android senza superficie Visualizza
- 10. come avviare Ruby 1.9 senza rubini
- 11. Esegui un'applicazione React Native senza avviare Xcode?
- 12. Django lingua predefinita i18n senza percorso prefissi
- 13. Come recuperare l'immagine dalla fotocamera senza utilizzare l'app fotocamera (tramite un servizio)
- 14. Mimando rotazione fotocamera iOS 6
- 15. Java: ternario senza restituzione. (Per la chiamata al metodo)
- 16. Restituzione di dati da AsyncTask senza bloccare l'interfaccia utente
- 17. Test WIA senza disporre di uno scanner/dispositivo fotocamera
- 18. Scansione codice QR senza fotocamera a schermo intero
- 19. ricostruzione 3D da 2 immagini senza informazioni sulla fotocamera
- 20. Fotocamera con messa a fuoco automatica senza anteprima
- 21. Come catturare una foto dalla fotocamera senza intenzione
- 22. Anteprima fotocamera Android - Come "congelare" la fotocamera?
- 23. È possibile avviare l'app Fotocamera nativa da un'applicazione Web Html 5?
- 24. Come aprire la fotocamera predefinita nell'app con tutte le opzioni in titanio?
- 25. Avviare l'applicazione Android senza attività principale e avviare il servizio all'avvio dell'applicazione
- 26. Come posso avviare php-fpm in un contenitore Docker per impostazione predefinita?
- 27. Prevenire il ribaltamento della fotocamera frontale
- 28. Impossibile avviare il gadget RNDIS
- 29. Apertura della fotocamera in un altro processo
- 30. Come eseguire il server Karma senza avviare alcun test Jasmine
nota, è possibile scambiare 'Intent.ACTION_MAIN' e sostituire l'azione con' MediaStore.ACTION_IMAGE_CAPTURE' per far avviare l'app in modalità foto o 'MediaStore.ACTION_VIDEO_CAPTURE' per avviare l'app in modalità video. – pents90
se si esegue questa operazione da un servizio in background è necessario aggiungere intent.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK); –
Questa risposta non funziona! Apre Contatti, Youtube e altre app irrilevanti. – NecipAllef