@Override public void run() { File output=new File(getExternalFilesDir(null), "screenshot.png"); try { FileOutputStream fos=new FileOutputStream(output); fos.write(png); fos.flush(); fos.getFD().sync(); fos.close(); MediaScannerConnection.scanFile(ScreenshotService.this, new String[] {output.getAbsolutePath()}, new String[] {"image/png"}, null); } catch (Exception e) { Log.e(getClass().getSimpleName(), "Exception writing out screenshot", e); } } }.start();
import java.io.File; import android.content.Context; import android.media.MediaScannerConnection; import android.media.MediaScannerConnection.MediaScannerConnectionClient; import android.net.Uri; public class SingleMediaScanner implements MediaScannerConnectionClient { private MediaScannerConnection mMs; private File mFile; public SingleMediaScanner(Context context, File f) { mFile = f; mMs = new MediaScannerConnection(context, this); mMs.connect(); } @Override public void onMediaScannerConnected() { mMs.scanFile(mFile.getAbsolutePath(), null); } @Override public void onScanCompleted(String path, Uri uri) { mMs.disconnect(); } }
msConn = new MediaScannerConnection(PreviewDemo.this, new MediaScannerConnectionClient() { public void onMediaScannerConnected() { msConn.scanFile(imageFileName, null); Log.i("msClient obj in Photo Utility", "connection established"); msConn.disconnect(); Log.i("msClient obj in Photo Utility", "scan completed"); msConn.connect();
void scanNextPath() { if (mNextPath >= mPaths.length) { mConnection.disconnect(); return; } String mimeType = mMimeTypes != null ? mMimeTypes[mNextPath] : null; mConnection.scanFile(mPaths[mNextPath], mimeType); mNextPath++; } }
public MediaScanner(final Context context, final File folder) { mFolder = folder; mScanner = new MediaScannerConnection(context, this); mScanner.connect(); }
@Override public void onScanCompleted(String path, Uri uri) { if (DEBUG) { Log.d(LOG_TAG, "scan completed: " + path); } mConnection.disconnect(); removeConnectionClient(this); } }
public MediaScanner(Context context, File file) { this.mImageFile = file; if (mMSC == null) { mMSC = new MediaScannerConnection(context, this); } }
public void refresh() { if (mMSC != null && !mMSC.isConnected()) { mMSC.connect(); } }
public void start() { mConnection.connect(); }
public class SomeActivity extends Activity implements MediaScannerConnectionClient { .... protected MediaScannerConnection mMs; .... @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); .... mMs = new MediaScannerConnection(this, this); .... } @Override public void onMediaScannerConnected() { mMs.scanFile(currentFile, null); } @Override public void onScanCompleted(String path, Uri uri) { mMs.disconnect(); } }
public void scanPhoto(final String imageFileName) { msConn = new MediaScannerConnection(CaptureActivity.this, new MediaScannerConnection.MediaScannerConnectionClient() { public void onMediaScannerConnected() { msConn.scanFile(imageFileName, null); Log.i("msClient obj", "connection established"); } public void onScanCompleted(String path, Uri uri) { msConn.disconnect(); Log.i("msClient obj", "scan completed"); } }); msConn.connect(); }
@Override public void onScanCompleted(String path, Uri uri) { mScanner.disconnect(); } }
public MediaScanner(Context context, File file) { this.mImageFile = file; if (mMSC == null) { mMSC = new MediaScannerConnection(context, this); } }
public void refresh() { if (mMSC != null && !mMSC.isConnected()) { mMSC.connect(); } }
if (success) { MediaScannerClientProxy client = new MediaScannerClientProxy(file.getAbsolutePath(), "image/png"); MediaScannerConnection msc = new MediaScannerConnection(this, client); client.mConnection = msc; msc.connect(); }
private void saveImage(final String folderName, final String fileName, final Bitmap image) { File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES); File file = new File(path, folderName + "/" + fileName); try { file.getParentFile().mkdirs(); image.compress(CompressFormat.JPEG, 80, new FileOutputStream(file)); MediaScannerConnection.scanFile(context, new String[]{ file.toString() }, null, new MediaScannerConnection.OnScanCompletedListener() { @Override public void onScanCompleted(final String path, final Uri uri) { if (listener != null) { handler.post(new Runnable() { @Override public void run() { listener.onPictureSaved(uri); } }); } } }); } catch (FileNotFoundException e) { e.printStackTrace(); } } }
//Your file path - Example here is "/sdcard/cats.jpg" final String filePathThis = imagePaths.get(position).toString(); MediaScannerConnectionClient mediaScannerClient = new MediaScannerConnectionClient() { private MediaScannerConnection msc = null; { msc = new MediaScannerConnection(getApplicationContext(), this); msc.connect(); } public void onMediaScannerConnected(){ msc.scanFile(filePathThis, null); } public void onScanCompleted(String path, Uri uri) { //This is where you get your content uri Log.d(TAG, uri.toString()); msc.disconnect(); } };
private MediaScannerConnection conn; private void notifySystemWithImage(final File imageFile) { conn = new MediaScannerConnection(this, new MediaScannerConnectionClient() { @Override public void onScanCompleted(String path, Uri uri) { try { if (uri != null) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(uri, "image/*"); startActivity(intent); } } finally { conn.disconnect(); conn = null; } } @Override public void onMediaScannerConnected() { conn.scanFile(imageFile.getAbsolutePath(), "*/*"); } }); conn.connect(); }