List of usage examples for android.os Environment getExternalStorageDirectory
public static File getExternalStorageDirectory()
From source file:Main.java
public static List<String> getExtSDCardPaths() { List<String> paths = new ArrayList<String>(); String extFileStatus = Environment.getExternalStorageState(); File extFile = Environment.getExternalStorageDirectory(); if (extFileStatus.endsWith(Environment.MEDIA_UNMOUNTED) && extFile.exists() && extFile.isDirectory() && extFile.canWrite()) { paths.add(extFile.getAbsolutePath()); }//ww w . j a v a 2 s . c om try { // obtain executed result of command line code of 'mount', to judge // whether tfCard exists by the result Runtime runtime = Runtime.getRuntime(); Process process = runtime.exec("mount"); InputStream is = process.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String line = null; int mountPathIndex = 1; while ((line = br.readLine()) != null) { // format of sdcard file system: vfat/fuse if ((!line.contains("fat") && !line.contains("fuse") && !line.contains("storage")) || line.contains("secure") || line.contains("asec") || line.contains("firmware") || line.contains("shell") || line.contains("obb") || line.contains("legacy") || line.contains("data")) { continue; } String[] parts = line.split(" "); int length = parts.length; if (mountPathIndex >= length) { continue; } String mountPath = parts[mountPathIndex]; if (!mountPath.contains("/") || mountPath.contains("data") || mountPath.contains("Data")) { continue; } File mountRoot = new File(mountPath); if (!mountRoot.exists() || !mountRoot.isDirectory() || !mountRoot.canWrite()) { continue; } boolean equalsToPrimarySD = mountPath.equals(extFile.getAbsolutePath()); if (equalsToPrimarySD) { continue; } paths.add(mountPath); } } catch (IOException e) { Log.e(TAG, "IOException:" + e.getMessage()); } return paths; }
From source file:Main.java
public static String getDirectory(String foldername) { // if (!foldername.startsWith(".")) { // foldername = "." + foldername; // }/* w w w . j a v a2 s . c o m*/ File directory = null; directory = new File( Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + foldername); if (!directory.exists()) { directory.mkdirs(); } return directory.getAbsolutePath(); }
From source file:Main.java
private static File getExternalCacheDir(Context context) { File dataDir = new File(new File(Environment.getExternalStorageDirectory(), "Android"), "data"); File appCacheDir = new File(new File(dataDir, context.getPackageName()), "cache"); if (!appCacheDir.exists()) { if (!appCacheDir.mkdirs()) { Log.w(TAG, "Unable to create external cache directory"); return null; }// w ww .jav a 2 s .co m try { new File(appCacheDir, ".nomedia").createNewFile(); } catch (IOException e) { Log.i(TAG, "Can't create \".nomedia\" file in application external cache directory"); } } return appCacheDir; }
From source file:Main.java
@TargetApi(Build.VERSION_CODES.KITKAT) public static String getPath(final Context context, final Uri uri) { final boolean isKitKat = isKK(); // DocumentProvider if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) { // ExternalStorageProvider if (isExternalStorageDocument(uri)) { final String docId = DocumentsContract.getDocumentId(uri); final String[] split = docId.split(":"); final String type = split[0]; if ("primary".equalsIgnoreCase(type)) { return Environment.getExternalStorageDirectory() + "/" + split[1]; }/*from w ww . ja v a2 s .co m*/ // TODO handle non-primary volumes } // DownloadsProvider else if (isDownloadsDocument(uri)) { final String id = DocumentsContract.getDocumentId(uri); final Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(id)); return getDataColumn(context, contentUri, null, null); } // MediaProvider else if (isMediaDocument(uri)) { final String docId = DocumentsContract.getDocumentId(uri); final String[] split = docId.split(":"); final String type = split[0]; Uri contentUri = null; if ("image".equals(type)) { contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; } else if ("video".equals(type)) { contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; } else if ("audio".equals(type)) { contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; } final String selection = "_id=?"; final String[] selectionArgs = new String[] { split[1] }; return getDataColumn(context, contentUri, selection, selectionArgs); } } // MediaStore (and general) else if ("content".equalsIgnoreCase(uri.getScheme())) { // Return the remote address if (isGooglePhotosUri(uri)) return uri.getLastPathSegment(); return getDataColumn(context, uri, null, null); } // File else if ("file".equalsIgnoreCase(uri.getScheme())) { return uri.getPath(); } return null; }
From source file:Main.java
public static boolean isEnoughMemory(int fileSize) { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { int freeSpace = getFreeMemory(Environment.getExternalStorageDirectory().getAbsolutePath()); if (freeSpace > fileSize) { return true; } else//from w w w. j av a 2 s .co m return false; } else return false; }
From source file:Main.java
public static String getRealPathFromURI(final Context context, final Uri uri) { final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT; // DocumentProvider if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) { // ExternalStorageProvider if (isExternalStorageDocument(uri)) { final String docId = DocumentsContract.getDocumentId(uri); final String[] split = docId.split(":"); final String type = split[0]; if ("primary".equalsIgnoreCase(type)) { return Environment.getExternalStorageDirectory() + "/" + split[1]; }//from w w w. ja v a 2 s. com // TODO handle non-primary volumes } // DownloadsProvider else if (isDownloadsDocument(uri)) { final String id = DocumentsContract.getDocumentId(uri); final Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(id)); return getDataColumn(context, contentUri, null, null); } // MediaProvider else if (isMediaDocument(uri)) { final String docId = DocumentsContract.getDocumentId(uri); final String[] split = docId.split(":"); final String type = split[0]; Uri contentUri = null; if ("image".equals(type)) { contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; } else if ("video".equals(type)) { contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; } else if ("audio".equals(type)) { contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; } final String selection = "_id=?"; final String[] selectionArgs = new String[] { split[1] }; return getDataColumn(context, contentUri, selection, selectionArgs); } } // MediaStore (and general) else if ("content".equalsIgnoreCase(uri.getScheme())) { // Return the remote address if (isGooglePhotosUri(uri)) return uri.getLastPathSegment(); return getDataColumn(context, uri, null, null); } // File else if ("file".equalsIgnoreCase(uri.getScheme())) { return uri.getPath(); } return null; }
From source file:Main.java
public static String saveFile(Context c, String filePath, String fileName, byte[] bytes) { String fileFullName = ""; FileOutputStream fos = null;//w w w.j a va2s. co m String dateFolder = new SimpleDateFormat("yyyyMMdd", Locale.CHINA).format(new Date()); try { String suffix = ""; if (filePath == null || filePath.trim().length() == 0) { filePath = Environment.getExternalStorageDirectory() + "/tuiji/" + dateFolder + "/"; } File file = new File(filePath); if (!file.exists()) { file.mkdirs(); } File fullFile = new File(filePath, fileName + suffix); fileFullName = fullFile.getPath(); fos = new FileOutputStream(new File(filePath, fileName + suffix)); fos.write(bytes); } catch (Exception e) { fileFullName = ""; } finally { if (fos != null) { try { fos.close(); } catch (IOException e) { fileFullName = ""; } } } return fileFullName; }
From source file:Main.java
/** * Checks whether the filename looks legitimate *//*w w w . j av a 2 s. c om*/ static boolean isFilenameValid(String filename, File downloadsDataDir) { filename = filename.replaceFirst("/+", "/"); // normalize leading slashes return filename.startsWith(Environment.getDownloadCacheDirectory().toString()) || filename.startsWith(downloadsDataDir.toString()) || filename.startsWith(Environment.getExternalStorageDirectory().toString()); }
From source file:Main.java
@SuppressLint("NewApi") public static String getPath(final Context context, final Uri uri) { final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT; // DocumentProvider if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) { // ExternalStorageProvider if (isExternalStorageDocument(uri)) { final String docId = DocumentsContract.getDocumentId(uri); final String[] split = docId.split(":"); final String type = split[0]; if ("primary".equalsIgnoreCase(type)) { return Environment.getExternalStorageDirectory() + "/" + split[1]; }//from w w w .ja v a2 s . c o m // TODO handle non-primary volumes } // DownloadsProvider else if (isDownloadsDocument(uri)) { final String id = DocumentsContract.getDocumentId(uri); final Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(id)); return getDataColumn(context, contentUri, null, null); } // MediaProvider else if (isMediaDocument(uri)) { final String docId = DocumentsContract.getDocumentId(uri); final String[] split = docId.split(":"); final String type = split[0]; Uri contentUri = null; if ("image".equals(type)) { contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; } else if ("video".equals(type)) { contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; } else if ("audio".equals(type)) { contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; } final String selection = "_id=?"; final String[] selectionArgs = new String[] { split[1] }; return getDataColumn(context, contentUri, selection, selectionArgs); } } // MediaStore (and general) else if ("content".equalsIgnoreCase(uri.getScheme())) { // Return the remote address if (isGooglePhotosUri(uri)) return uri.getLastPathSegment(); return getDataColumn(context, uri, null, null); } // File else if ("file".equalsIgnoreCase(uri.getScheme())) { return uri.getPath(); } return null; }
From source file:Main.java
public static void setClickable(final TextView textView) { textView.setMovementMethod(LinkMovementMethod.getInstance()); Spannable sp = (Spannable) textView.getText(); ImageSpan[] images = sp.getSpans(0, textView.getText().length(), ImageSpan.class); for (ImageSpan span : images) { final String image_src = span.getSource(); final int start = sp.getSpanStart(span); final int end = sp.getSpanEnd(span); ClickableSpan click_span = new ClickableSpan() { @Override/* w w w . j a v a2 s. co m*/ public void onClick(View widget) { String[] strs = image_src.split("/"); String filePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/LilyClient/" + strs[strs.length - 2] + "-" + strs[strs.length - 1]; Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setType("image/*"); intent.setDataAndType(Uri.fromFile(new File(filePath)), "image/*"); textView.getContext().startActivity(intent); } }; ClickableSpan[] click_spans = sp.getSpans(start, end, ClickableSpan.class); if (click_spans.length != 0) { for (ClickableSpan c_span : click_spans) { sp.removeSpan(c_span); } } sp.setSpan(click_span, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); } }