Restituire un InputStream di memory mappato da un provider di contenuti?

Il lato client di un consumatore di contenuti che posso fare qualcosa di simile, per get un proprio InputStream per la lettura dell'image:

InputStream is = getContentResolver().openInputStream(pictureUri); 

Si tratta di una bella API, e sul lato server, il fornitore effettivo del contenuto risulta in una chiamata a:

  • emoticon di jopera fonegap
  • ViewPager con frammenti - onPause (), onResume ()?
  • Filtro stringhe.xml con gradle-android-plugin?
  • android ffmpeg halfninja av_open_input_file restituisce -2 (nessun file o directory)
  • C'è un modo semplice per scoprire stringhe inutilizzate nel progetto Android?
  • Ruota l'image di trascinamento zoom nell'image android
  •  public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException { // Open a proper ParcelFileDescriptor, most likely using openFileHelper(uri, mode) } 

    Ma cosa succede se l'image mappata all'URI non si trova sul filesystem, ma come una risorsa di memory o generata in volo.

    Posso creare un File memory associato o InputStream o qualsiasi altra cosa, in modo che non sia necessario salvare un file temporaneo sul disco, solo per poterlo restituire al mio consumatore di contenuti?

  • Android: Cambia il centro del GradientDrawable lineare tramite il codice
  • Caricare Android da URL a Bitmap
  • Quale authorization necessaria per get ACTION_HEADSET_PLUG all'interno del ricevitore broadcast
  • Imansible risolvere: com.android.support:cardview-v7:26.0.0 android
  • Come faccio a leggere le properties; definite in local.properties in build.gradle
  • Come avviare una connessione di networking locale tramite il Wi-Fi hotspot Android?
  • 2 Solutions collect form web for “Restituire un InputStream di memory mappato da un provider di contenuti?”

    Questo è duro. Potresti essere in grado di allontanarsi usando qualsiasi cosa che possa utilizzare un'interface Socket. Non l'ho fatta, ma questo è ciò che mi fa pensare:

    http://developer.android.com/reference/android/os/ParcelFileDescriptor.html#fromSocket(java.net.Socket)

    E un Socket potrebbe, in teoria, essere una risorsa di Internet o qualcosa di più … se sei disposto a lavorare al livello Socket. Probabilmente wherevo abbandonare e creare il file temporaneo. Forse questo mi fa un codardo.

    Come android-9, è ansible fare un pipe utilizzando ParcelFileDescriptor. Puoi arrivare fino a 64k e farlo, oppure puoi impostare un altro thread per riempirlo dopo che è stato letto. Vedere la risposta qui per ulteriori dettagli:

    Custom ContentProvider – openInputStream (), openOutputStream ()

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