Sono nuovo nello sviluppo di Android, sto facendo una piccola applicazione per catturare l'immagine USB Camrea usando UVCCamera
.L'immagine catturata non è stata mostrata nella galleria ma è stata memorizzata correttamente nella sdcard
ho catturato un'immagine utilizzando UVCCamera
e conservati in sdcard come questo
File filepath = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM), "IMG_"+getDateTime() + ".jpg");
mCameraClient.captureStill(filepath.toString());
qui mCameraClient sarà intract con UVC fotocamera e acquisizione di immagini e conservare in quel percorso e sarà richiamata metodo onCaptureDone
@Override
public void onCaptureDone(final String path) {
// TODO Auto-generated method stub
Log.e(TAG, "onCaptureDone called");
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
//Toast -- Images Saved.
}
});
}
};
Quindi invoco la galleria da un pulsante immagine onClickListener
private MediaScannerConnection conn;
File folder = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM));
File[] mImagefile = folder.listFiles(new FilenameFilter() {
public boolean accept(File dir, String filename) {
return filename.endsWith(".jpg");
}
});
if (mImagefile.length > 0) {
SCAN_PATH = folder.toString() + "/"
+ mImagefile[mImagefile.length -1].getName();
Log.e(TAG, "SCAN PATH = " + SCAN_PATH);
if (conn != null) {
conn.disconnect();
}
conn = new MediaScannerConnection(this, this);
conn.connect();
} else {
//Toast -- No Images Available
}
Se il filtro ha avuto successo.
@Override
public void onMediaScannerConnected() {
// TODO Auto-generated method stub
Log.e(TAG, "onMediaScannerConnected");
;
conn.scanFile(SCAN_PATH, null);
}
@Override
public void onScanCompleted(String path, Uri uri) {
// TODO Auto-generated method stub
try {
Log.e(TAG, "OnCompleted path = " + path);
if (uri != null) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(uri);
startActivity(intent);
}
} finally {
Log.e(TAG, "OnCompleted Disconnecting");
conn.disconnect();
conn = null;
}
}
Qui il mio problema era nella galleria che tutte le immagini catturate non venivano visualizzate.
E ho controllato nella directory salvati, non tutte le immagini è stato memorizzato con successo. [Immagini non è stato danneggiato, ho verificato]
E ho controllato in applicazione galleria di default, in quanto anche quelle immagini non mostrava .
Per favore aiutatemi su questo.
Edit 1:
ho osservato una cosa, quando mi cattura e immagine salvata, non mostrando in galleria, ma dopo qualche tempo, come è stato il suo 2-3 ore appare in galleria. VOGLIO SAPERE PERCHÉ MI PIACE QUESTO ACCADERE?
Grazie
È necessario informare lo scanner multimediale della nuova immagine. Consulta http://stackoverflow.com/questions/4753252/scan-android-sd-card-for-new-files/23078323#23078323 –
@HarishSridharan: Ho provato, non funzionante – iosLearner
Aggiunta la mia risposta. –