Utilizzo della camera nell'applicazione Phonegap con solo input HTML, senza API della camera

È ansible get una foto dalla camera in un'applicazione fonegap solo con l'input HTML, senza l'API della camera?

Scenario

  • Android: bug in launchMode = "singleTask"? -> pila di attività non conservata
  • C'è un modo per non utilizzare risorse pubbliche android nella mia applicazione?
  • Visualizzare un avviso quando la connessione a internet non è disponibile nell'applicazione android
  • Android: DialogPreference colore / stile?
  • come il servizio whatsapp viene riavviato anche se forzare l'applicazione stop?
  • Fattore di scala per xxhdpi android?
  • Ho sviluppato un'applicazione e l'ho incapsulata tramite Phonegap (Build)

    Gli utenti possono submit foto utilizzando l'input di file html. Ma non esiste alcuna possibilità per prendere una nuova foto dalla camera, solo la galleria e i file (e qualsiasi altra applicazione di storage come unità o dropbox, se è il caso).

    Vorrei abilitare l'opzione della camera, ma senza l'API della CameraGoogle.

    soluzioni

    Ho provato le seguenti soluzioni senza successo:


    1. L'attributo "capture" (da Raymond Camden post )

    Con questo metodo, tutto quello che wherete fare è aggiungere l'attributo "cattura" come questo:

    <input type="file" capture="camera" accept="image/*" id="JustChooseAnID"> 

    Raymond spiega che con questo metodo non è necessario utilizzare l'API CameraGuida di Google perché Google ha sviluppato questa opzione e lo ha mostrato in una presentazione di Google IO e, secondo Google devs e anche Raymond, funziona.

    Ma non per me.


    2. Config Phonegap per chiedere l'authorization della camera (dalla domanda di Jorge Lizaso )

    "Forse l'opzione della camera non viene visualizzata perché l'applicazione non dispone delle autorizzazioni appropriate"

    Nella domanda di cui sopra, sono stati citati 4 methods per indirizzare e ricevere indirettamente le autorizzazioni appropriate per utilizzare la camera.

    Ho già provato i methods 2 e 4 e, anche se la mia applicazione richiede l'authorization della camera e l'ho permesso correttamente, quando utilizzo l'input di file, vengono presentate tutte le opzioni (come galleria e file), ma nessuna macchina fotografica.


    3 (e 1). Utilizza la versione più recente di webkit con Crosswalk per garantire la soluzione # 1

    Con la possibilità che la mia webview android sia obsoleta (e non compatibile con la soluzione # 1), ho deciso di includere nella mia app il miglior webview ansible: l'ultima versione di Google Chromium .

    Ma … nessun successo ancora.


    1, 2 e 3 combinati

    Il risultato: no … successo.

  • Chiamare un'API POST su android
  • Distruggi webview in Android
  • Debug del codice nativo in Android Studio
  • trovare la posizione corrente latitudine e longitudine
  • Cattura button multimediale su Android> = 4.0 (funziona su 2.3)
  • Come creare Notifiche di stato multiplo in android
  • One Solution collect form web for “Utilizzo della camera nell'applicazione Phonegap con solo input HTML, senza API della camera”

    Sì, c'è una soluzione, senza la necessità di API di Cordova / PhoneGap.

    Per ragioni che sono al di là delle mie conoscenze, il webkit utilizzato in CocoonJS (chiamato WebView +) è molto più ottimizzato e adattato alle applicazioni HTML5 rispetto a Crossswalk di phonegap (per favore, non sono collegato a Cocoon).

    Ho scartato completamente le impostazioni di Phonegap config.xml e ho provato il constructor di Cocoon. Ho usato la soluzione # 1 (l'attributo di cattura nell'insieme di file) e ho aggiunto questi plugin, via Cocoon:

     <cocoon:plugin name="cordova-plugin-camera"/> <cocoon:plugin name="cordova-plugin-media-capture"/> <cocoon:plugin name="cordova-plugin-media"/> <cocoon:plugin name="cordova-plugin-file"/> <cocoon:plugin name="cordova-plugin-device"/> 

    È importnte notare che ho appena installato questi plugin per get le autorizzazioni desiderate, ma non li utilizzo a tutti.


    Probabilmente, gli sviluppatori più esperti avranno soluzioni migliori, ma per ora, questo è il modo migliore che ho trovato per risolvere questo problema.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.