Example usage for android.os Environment getExternalStoragePublicDirectory

List of usage examples for android.os Environment getExternalStoragePublicDirectory

Introduction

In this page you can find the example usage for android.os Environment getExternalStoragePublicDirectory.

Prototype

public static File getExternalStoragePublicDirectory(String type) 

Source Link

Document

Get a top-level shared/external storage directory for placing files of a particular type.

Usage

From source file:com.keithandthegirl.services.download.DownloadService.java

@TargetApi(8)
@Override//from w w  w  .  j  a va  2 s. c o m
protected void onHandleIntent(Intent requestIntent) {
    Log.v(TAG, "onHandleIntent : enter");

    mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    mOriginalRequestIntent = requestIntent;

    Resource resourceType = Resource.valueOf(requestIntent.getStringExtra(RESOURCE_TYPE_EXTRA));
    mCallback = requestIntent.getParcelableExtra(SERVICE_CALLBACK);

    Uri data = requestIntent.getData();
    String urlPath = requestIntent.getStringExtra("urlpath");
    String directory = requestIntent.getStringExtra("directory");

    String filename = data.getLastPathSegment();

    File root;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO) {
        switch (resourceType) {
        case MP3:
            root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PODCASTS);

            break;
        case MP4:
            root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES);

            break;
        case M4V:
            root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES);

            break;
        case JPG:
            root = getExternalCacheDir();
            filename = requestIntent.getLongExtra("id", -1) + ".jpg";

            break;
        default:
            root = getExternalCacheDir();

            break;
        }
    } else {
        root = Environment.getExternalStorageDirectory();
    }

    File outputDir = new File(root, directory);
    outputDir.mkdirs();

    File output = new File(outputDir, filename);
    if (output.exists()) {
        result = FragmentActivity.RESULT_OK;

        mCallback.send(result, getOriginalIntentBundle());

        Log.v(TAG, "onHandleIntent : exit, image exists");
        return;
    }

    switch (resourceType) {
    case MP3:
        Log.v(TAG, "onHandleIntent : saving mp3");

        savePodcast(requestIntent.getLongExtra("id", -1), requestIntent.getStringExtra("title"), urlPath,
                output);
        mCallback.send(result, getOriginalIntentBundle());

        break;

    case MP4:
        Log.v(TAG, "onHandleIntent : saving mp4");

        savePodcast(requestIntent.getLongExtra("id", -1), requestIntent.getStringExtra("title"), urlPath,
                output);
        mCallback.send(result, getOriginalIntentBundle());

        break;

    case M4V:
        Log.v(TAG, "onHandleIntent : saving m4v");

        savePodcast(requestIntent.getLongExtra("id", -1), requestIntent.getStringExtra("title"), urlPath,
                output);
        mCallback.send(result, getOriginalIntentBundle());

        break;

    case JPG:
        Log.v(TAG, "onHandleIntent : saving jpg");

        saveBitmap(requestIntent.getStringExtra("filename"), urlPath, output);
        mCallback.send(result, getOriginalIntentBundle());

        break;
    default:
        Log.w(TAG, "onHandleIntent : unknown extension '" + resourceType.getExtension() + "'");

        mCallback.send(REQUEST_INVALID, getOriginalIntentBundle());
        break;
    }

    Log.v(TAG, "onHandleIntent : exit");
}

From source file:de.k3b.android.toGoZip.SettingsImpl.java

@TargetApi(Build.VERSION_CODES.KITKAT)
private static File getRootDir44() {
    return Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
}

From source file:com.waz.zclient.pages.main.conversation.AssetIntentsManager.java

/**
 * Create a File for saving an image or video
 *
 * @param type//from   ww  w  .  j  ava  2  s.  c o  m
 */
private static File getOutputMediaFile(IntentType type) {
    File mediaStorageDir = new File(
            Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "WIRE_MEDIA");
    if (!mediaStorageDir.exists() && !mediaStorageDir.mkdirs()) {
        return null;
    }

    java.util.Date date = new java.util.Date();
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(date.getTime());

    switch (type) {
    case VIDEO_CURSOR_BUTTON:
    case VIDEO:
        return new File(mediaStorageDir.getPath() + File.separator + "VID_" + timeStamp + ".mp4");
    case CAMERA:
        return new File(mediaStorageDir.getPath() + File.separator + "IMG_" + timeStamp + ".jpg");
    }
    return null;
}

From source file:com.crossconnect.activity.main.ResourceFragment.java

@Override
public void onListItemClick(ListView l, View v, int pos, long id) {

    final int position = pos;

    //Get the corresponding resource
    final OnlineAudioResource resource = mAdapter.getItem(position);

    final ActionItem playAction = new ActionItem();

    playAction.setTitle("Play");
    playAction.setIcon(getResources().getDrawable(R.drawable.kontak));

    final ActionItem downloadAction = new ActionItem();

    downloadAction.setTitle("Download");
    downloadAction.setIcon(getResources().getDrawable(R.drawable.kontak));

    final ActionItem readAction = new ActionItem();

    readAction.setTitle("Read");
    readAction.setIcon(getResources().getDrawable(R.drawable.kontak));

    final QuickActionHorizontal mQuickAction = new QuickActionHorizontal(v);

    final String text = "blah";

    //Check the links are actually there
    if (resource.getAudioURL() != null) {
        downloadAction.setOnClickListener(new OnClickListener() {
            @Override//from w  w w.j  a  v  a  2s .  com
            public void onClick(View v) {

                final String RESOURCE_FOLDER = "/CrossConnectAudio/Resources/";
                Toast.makeText(getActivity(), "Downloading Audio File " + text, Toast.LENGTH_SHORT).show();
                Log.d(TAG, "Downloading Audio " + mAdapter.getItem(position).getResourceName() + "from "
                        + mAdapter.getItem(position).getAudioURL());

                Request request = new Request(Uri.parse(resource.getAudioURL()));
                File path = new File(
                        Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PODCASTS)
                                + RESOURCE_FOLDER);
                path.mkdir();

                String filePath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PODCASTS)
                        + RESOURCE_FOLDER + FileUtil.getFileName(mAdapter.getItem(position), bibleText);

                resourceService.insertUpdate(mAdapter.getItem(position), filePath, bibleText);

                request.setDestinationInExternalPublicDir(Environment.DIRECTORY_PODCASTS,
                        RESOURCE_FOLDER + FileUtil.getFileName(mAdapter.getItem(position), bibleText));

                ((DownloadManager) getActivity().getSystemService("download")).enqueue(request);

                mQuickAction.dismiss();
            }
        });
        mQuickAction.addActionItem(downloadAction);

        playAction.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getActivity(), "Streaming Audio File " + text, Toast.LENGTH_SHORT).show();
                Log.d(TAG, "Streaming Audio" + mAdapter.getItem(position).getResourceName() + "from "
                        + mAdapter.getItem(position).getAudioURL());
                try {
                    // the download happens in another thread
                    Intent i = new Intent(MusicService.ACTION_URL);
                    Uri uri = Uri.parse(mAdapter.getItem(position).getAudioURL());
                    i.setData(uri);
                    getActivity().startService(i);

                } catch (Exception e) {
                    Log.e("BookManagerActivity", "Error on attempt to download", e);
                }

                mQuickAction.dismiss();
            }
        });

        mQuickAction.addActionItem(playAction);
    }

    if (resource.getReadURL() != null) {
        readAction.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getActivity(), "Read " + text, Toast.LENGTH_SHORT).show();
                Intent intent = new Intent(getActivity(), ArticleActivity.class);
                if (resource.getReadURL() != null) {
                    intent.putExtra("url", resource.getReadURL());
                    intent.putExtra("verse", resource.getResourceVerse());
                    startActivity(intent);
                }

                mQuickAction.dismiss();
            }
        });
        mQuickAction.addActionItem(readAction);
    }

    mQuickAction.setAnimStyle(QuickActionVertical.ANIM_AUTO);

    mQuickAction.setOnDismissListener(new OnDismissListener() {
        @Override
        public void onDismiss() {
        }
    });

    mQuickAction.show();
}

From source file:mil.nga.giat.mage.sdk.utils.MediaUtility.java

public static File createVideoFile() throws IOException {
    // Create an image file name
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
    String imageFileName = "MAGE_" + timeStamp;
    File movies = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES);
    File directory = new File(movies, "MAGE");

    if (!directory.exists()) {
        directory.mkdirs();//from  w  w w  .  ja  v a  2s .com
    }

    return File.createTempFile(imageFileName, /* prefix */
            ".mp4", /* suffix */
            directory /* directory */
    );
}

From source file:com.ultramegasoft.flavordex2.dialog.ExportDialog.java

/**
 * Get the path to the directory where we will save the file.
 *
 * @return The path to the directory where we will save the file
 *///from  w w  w  .  ja  v  a  2 s. co  m
@NonNull
private static String getBasePath() {
    final File file;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        file = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);
    } else {
        file = Environment.getExternalStorageDirectory();
    }
    //noinspection ResultOfMethodCallIgnored
    file.mkdirs();
    return file.getPath();
}

From source file:ufms.br.com.ufmsapp.fragment.MateriaisDisciplinaFragment.java

private void openDocument(String path) {
    String fileName = path.replace(DownloadTask.UPLOAD_PATH_REPLACE, "");
    Intent intent = new Intent();
    intent.setAction(android.content.Intent.ACTION_VIEW);
    File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),
            fileName);//from   w ww  .  j ava 2 s  . c o  m
    intent.setDataAndType(Uri.fromFile(file), GetFileMimeType.getMimeType(fileName));
    intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
    startActivity(intent);
}

From source file:com.fairphone.updater.UpdaterService.java

private Request createDownloadRequest(String url, String fileName) {

    Request request = new Request(Uri.parse(url));
    Environment.getExternalStoragePublicDirectory(
            Environment.getExternalStorageDirectory() + VersionParserHelper.UPDATER_FOLDER).mkdirs();

    request.setDestinationInExternalPublicDir(VersionParserHelper.UPDATER_FOLDER, fileName);
    request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI);
    request.setAllowedOverRoaming(false);

    Resources resources = getApplicationContext().getResources();
    request.setTitle(resources.getString(R.string.downloadUpdateTitle));

    return request;
}

From source file:io.realm.scanner.MainActivity.java

private void copyTestAssetIfNeeded() {
    String imagePath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
            + File.separator + TEST_IMAGE;
    if (new File(imagePath).exists()) {
        return;/*w  w  w. j a v  a  2 s  .c  o  m*/
    }

    AssetManager assetManager = getAssets();
    try {
        InputStream in = assetManager.open(TEST_IMAGE);
        OutputStream out = new FileOutputStream(imagePath);
        byte[] buffer = new byte[PRIME_NUMBER_1000th];
        int read;
        while ((read = in.read(buffer)) != -1) {
            out.write(buffer, 0, read);
        }
        in.close();
        out.flush();
        out.close();

        MediaScannerConnection.scanFile(this, new String[] { imagePath }, new String[] { "image/jpeg" }, null);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

From source file:uk.co.senab.photoview.sample.SimpleSampleActivity.java

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.menu_zoom_toggle:
        mAttacher.setZoomable(!mAttacher.canZoom());
        return true;

    case R.id.menu_scale_fit_center:
        mAttacher.setScaleType(ScaleType.FIT_CENTER);
        return true;

    case R.id.menu_scale_fit_start:
        mAttacher.setScaleType(ScaleType.FIT_START);
        return true;

    case R.id.menu_scale_fit_end:
        mAttacher.setScaleType(ScaleType.FIT_END);
        return true;

    case R.id.menu_scale_fit_xy:
        mAttacher.setScaleType(ScaleType.FIT_XY);
        return true;

    case R.id.menu_scale_scale_center:
        mAttacher.setScaleType(ScaleType.CENTER);
        return true;

    case R.id.menu_scale_scale_center_crop:
        mAttacher.setScaleType(ScaleType.CENTER_CROP);
        return true;

    case R.id.menu_scale_scale_center_inside:
        mAttacher.setScaleType(ScaleType.CENTER_INSIDE);
        return true;

    case R.id.menu_scale_random_animate:
    case R.id.menu_scale_random:
        Random r = new Random();

        float minScale = mAttacher.getMinimumScale();
        float maxScale = mAttacher.getMaximumScale();
        float randomScale = minScale + (r.nextFloat() * (maxScale - minScale));
        mAttacher.setScale(randomScale, item.getItemId() == R.id.menu_scale_random_animate);

        showToast(String.format(SCALE_TOAST_STRING, randomScale));

        return true;
    case R.id.menu_matrix_restore:
        if (mCurrentDisplayMatrix == null)
            showToast("You need to capture display matrix first");
        else//from ww w.j a v  a  2 s .  c o  m
            mAttacher.setDisplayMatrix(mCurrentDisplayMatrix);
        return true;
    case R.id.menu_matrix_capture:
        mAttacher.getDisplayMatrix(mCurrentDisplayMatrix);
        return true;
    case R.id.extract_visible_bitmap:
        try {
            Bitmap bmp = mAttacher.getVisibleRectangleBitmap();
            File tmpFile = File.createTempFile("photoview", ".png",
                    Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS));
            FileOutputStream out = new FileOutputStream(tmpFile);
            bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
            out.close();
            Intent share = new Intent(Intent.ACTION_SEND);
            share.setType("image/png");
            share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(tmpFile));
            startActivity(share);
            Toast.makeText(this, String.format("Extracted into: %s", tmpFile.getAbsolutePath()),
                    Toast.LENGTH_SHORT).show();
        } catch (Throwable t) {
            t.printStackTrace();
            Toast.makeText(this, "Error occured while extracting bitmap", Toast.LENGTH_SHORT).show();
        }
        return true;
    }

    return super.onOptionsItemSelected(item);
}