类android.provider.MediaStore.MediaColumns源码实例Demo

下面列出了怎么用android.provider.MediaStore.MediaColumns的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: AndroidWallet   文件: ImageUtils.java
/**
 * 获取图片路径
 *
 * @param uri
 * @param
 */
public static String getImagePath(Uri uri, Activity context) {

    String[] projection = {MediaColumns.DATA};
    Cursor cursor = context.getContentResolver().query(uri, projection,
            null, null, null);
    if (cursor != null) {
        cursor.moveToFirst();
        int columIndex = cursor.getColumnIndexOrThrow(MediaColumns.DATA);
        String ImagePath = cursor.getString(columIndex);
        cursor.close();
        return ImagePath;
    }

    return uri.toString();
}
 
源代码2 项目: PowerFileExplorer   文件: AndroidPathUtils.java
/**
 * Get an Uri from an file path.
 *
 * @param path The file path.
 * @return The Uri.
 */
public static Uri getUriFromFile(final String path, final Context c) {
	ContentResolver resolver = c.getContentResolver();

	Cursor filecursor = resolver.query(MediaStore.Files.getContentUri("external"),
									   new String[] {BaseColumns._ID}, MediaColumns.DATA + " = ?",
									   new String[] {path}, MediaColumns.DATE_ADDED + " desc");
	if (filecursor == null) {
		return null;
	}
	filecursor.moveToFirst();

	if (filecursor.isAfterLast()) {
		filecursor.close();
		ContentValues values = new ContentValues();
		values.put(MediaColumns.DATA, path);
		return resolver.insert(MediaStore.Files.getContentUri("external"), values);
	}
	else {
		int imageId = filecursor.getInt(filecursor.getColumnIndex(BaseColumns._ID));
		Uri uri = MediaStore.Files.getContentUri("external").buildUpon().appendPath(
			Integer.toString(imageId)).build();
		filecursor.close();
		return uri;
	}
}
 
源代码3 项目: LLApp   文件: MusicUtil.java
public static List<Playlist> getMp3List(Context context) {
    List<Playlist> list = new ArrayList<Playlist>();

    Cursor cursor = new ResolverSer().getResolverSer().getResover(context).query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, media_info, "",
            null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
    if (cursor != null && cursor.getCount() == 0) {
        final AlertDialog xfdialog = new AlertDialog.Builder(context).setTitle("Tips:").setMessage(context.getResources().getString(R.string.music_no_one)).setPositiveButton(context.getResources().getString(R.string.is_positive), null).create();
        xfdialog.show();
        cursor.close();
        return null;
    }
    while (cursor.moveToNext()) {
        int id = cursor.getInt(cursor.getColumnIndex(BaseColumns._ID));
        int album_id = cursor.getInt(cursor.getColumnIndex(AudioColumns.ALBUM_ID));
        String title = cursor.getString(cursor.getColumnIndex(MediaColumns.TITLE));
        String artist = cursor.getString(cursor.getColumnIndex(AudioColumns.ARTIST));
        int duration = cursor.getInt(cursor.getColumnIndex(AudioColumns.DURATION));
        if (duration > 30000) {
            Playlist playlist = new Playlist(id, title, duration, artist, album_id);
            list.add(playlist);
        }
    }
    cursor.close();
    return list;
}
 
源代码4 项目: FileManager   文件: MediaStoreUtils.java
public static Uri getUriFromFile(final String path, Context context) {
    ContentResolver resolver = context.getContentResolver();

    Cursor filecursor = resolver.query(MediaStore.Files.getContentUri("external"),
            new String[]{BaseColumns._ID}, MediaColumns.DATA + " = ?",
            new String[]{path}, MediaColumns.DATE_ADDED + " desc");
    filecursor.moveToFirst();

    if (filecursor.isAfterLast()) {
        filecursor.close();
        ContentValues values = new ContentValues();
        values.put(MediaColumns.DATA, path);
        return resolver.insert(MediaStore.Files.getContentUri("external"), values);
    } else {
        int imageId = filecursor.getInt(filecursor.getColumnIndex(BaseColumns._ID));
        Uri uri = MediaStore.Files.getContentUri("external").buildUpon().appendPath(
                Integer.toString(imageId)).build();
        filecursor.close();
        return uri;
    }
}
 
源代码5 项目: mobile-manager-tool   文件: MusicUtils.java
/**
 * @param context
 * @param id
 * @return
 */
public static long[] getSongListForGenre(Context context, long id) {
    String[] projection = new String[] {
        BaseColumns._ID
    };
    StringBuilder selection = new StringBuilder();
    selection.append(AudioColumns.IS_MUSIC + "=1");
    selection.append(" AND " + MediaColumns.TITLE + "!=''");
    Uri uri = Genres.Members.getContentUri(EXTERNAL, id);
    Cursor cursor = context.getContentResolver().query(uri, projection, selection.toString(),
            null, null);
    if (cursor != null) {
        long[] list = getSongListForCursor(cursor);
        cursor.close();
        return list;
    }
    return sEmptyList;
}
 
源代码6 项目: mobile-manager-tool   文件: MusicUtils.java
/**
 * Create a Search Chooser
 */
public static void doSearch(Context mContext, Cursor mCursor, String Type) {
    CharSequence title = null;
    Intent i = new Intent();
    i.setAction(MediaStore.INTENT_ACTION_MEDIA_SEARCH);
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    String query = "";

	if ( Type == TYPE_ALBUM ){
		query = mCursor.getString(mCursor.getColumnIndexOrThrow(AlbumColumns.ALBUM));
	}
	else if( Type == TYPE_ARTIST ){
		query = mCursor.getString(mCursor.getColumnIndexOrThrow(ArtistColumns.ARTIST));
	}
	else if( Type == TYPE_GENRE ||  Type == TYPE_PLAYLIST ||  Type == TYPE_SONG ){
		query = mCursor.getString(mCursor.getColumnIndexOrThrow(MediaColumns.TITLE));
	}
    title = "";
    i.putExtra("", query);
    title = title + " " + query;
    title = "Search " + title;
    i.putExtra(SearchManager.QUERY, query);
    mContext.startActivity(Intent.createChooser(i, title));
}
 
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    if( mFragmentGroupId != 0 ){
 	menu.add(mFragmentGroupId, PLAY_SELECTION, 0, getResources().getString(R.string.play_all));
     menu.add(mFragmentGroupId, ADD_TO_PLAYLIST, 0, getResources().getString(R.string.add_to_playlist));
     menu.add(mFragmentGroupId, USE_AS_RINGTONE, 0, getResources().getString(R.string.use_as_ringtone));
     menu.add(mFragmentGroupId, REMOVE, 0, R.string.remove);
     menu.add(mFragmentGroupId, SEARCH, 0, getResources().getString(R.string.search));
     AdapterContextMenuInfo mi = (AdapterContextMenuInfo)menuInfo;
     mSelectedPosition = mi.position;
     mCursor.moveToPosition(mSelectedPosition);
     try {
         mSelectedId = mCursor.getLong(mCursor.getColumnIndexOrThrow(mMediaIdColumn));
     } catch (IllegalArgumentException ex) {
         mSelectedId = mi.id;
     }
     String title = mCursor.getString(mCursor.getColumnIndexOrThrow(MediaColumns.TITLE));
     menu.setHeaderTitle(title);
    }
}
 
源代码8 项目: mobile-manager-tool   文件: QuickQueueFragment.java
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
	String[] projection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST,
    };
    StringBuilder selection = new StringBuilder();
    Uri uri = Audio.Media.EXTERNAL_CONTENT_URI;
    String sortOrder = Audio.Media.DEFAULT_SORT_ORDER;
    uri = Audio.Media.EXTERNAL_CONTENT_URI;
    long[] mNowPlaying = MusicUtils.getQueue();
    if (mNowPlaying.length == 0)
        return null;
    selection = new StringBuilder();
    selection.append(BaseColumns._ID + " IN (");
    if (mNowPlaying == null || mNowPlaying.length <= 0)
        return null;
    for (long queue_id : mNowPlaying) {
        selection.append(queue_id + ",");
    }
    selection.deleteCharAt(selection.length() - 1);
    selection.append(")");
	
    return new AddIdCursorLoader(getActivity(), uri, projection, selection.toString(), null,
            sortOrder);
}
 
源代码9 项目: mobile-manager-tool   文件: QuickQueueFragment.java
/**
 * Reload the queue after we remove a track
 */
private void reloadQueueCursor() {
    String[] projection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST,
    };
    StringBuilder selection = new StringBuilder();
    Uri uri = Audio.Media.EXTERNAL_CONTENT_URI;
    String sortOrder = Audio.Media.DEFAULT_SORT_ORDER;
    uri = Audio.Media.EXTERNAL_CONTENT_URI;
    long[] mNowPlaying = MusicUtils.getQueue();
    if (mNowPlaying.length == 0)
        return;
    selection = new StringBuilder();
    selection.append(BaseColumns._ID + " IN (");
    if (mNowPlaying == null || mNowPlaying.length <= 0)
        return;
    for (long queue_id : mNowPlaying) {
        selection.append(queue_id + ",");
    }
    selection.deleteCharAt(selection.length() - 1);
    selection.append(")");

    mCursor = MusicUtils.query(getActivity(), uri, projection, selection.toString(), null,
            sortOrder);
    mQuickQueueAdapter.changeCursor(mCursor);
}
 
源代码10 项目: mobile-manager-tool   文件: AlbumListFragment.java
@Override
public void setupFragmentData() {
       mAdapter = new AlbumListAdapter(getActivity(), R.layout.music_listview_items, null,
               								new String[] {}, new int[] {}, 0);
   	mProjection = new String[] {
               BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST
       };
       StringBuilder where = new StringBuilder();
       where.append(AudioColumns.IS_MUSIC + "=1")
       					.append(" AND " + MediaColumns.TITLE + " != ''");
       long albumId = getArguments().getLong(BaseColumns._ID);
       where.append(" AND " + AudioColumns.ALBUM_ID + "=" + albumId);
       mWhere = where.toString();        
       mSortOrder = Audio.Media.TRACK + ", " + Audio.Media.DEFAULT_SORT_ORDER;
       mUri = Audio.Media.EXTERNAL_CONTENT_URI;
       mFragmentGroupId = 89;
       mType = TYPE_ALBUM;
       mTitleColumn = MediaColumns.TITLE; 
}
 
public void setupFragmentData(){
    mAdapter = new RecentlyAddedAdapter(getActivity(), R.layout.music_listview_items,
            null, new String[] {}, new int[] {}, 0);
	mProjection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST
    };
    StringBuilder where = new StringBuilder();
    int X = MusicUtils.getIntPref(getActivity(), NUMWEEKS, 5) * 3600 * 24 * 7;
    where.append(MediaColumns.TITLE + " != ''");
    where.append(" AND " + AudioColumns.IS_MUSIC + "=1");
    where.append(" AND " + MediaColumns.DATE_ADDED + ">"
            + (System.currentTimeMillis() / 1000 - X));
    mWhere = where.toString();
    mSortOrder = MediaColumns.DATE_ADDED + " DESC";
    mUri = Audio.Media.EXTERNAL_CONTENT_URI;
    mTitleColumn = MediaColumns.TITLE;       
}
 
源代码12 项目: mobile-manager-tool   文件: NowPlayingFragment.java
@Override
  public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
      if (data == null) {
          return;
      }
      long[] mNowPlaying = MusicUtils.getQueue();
  	String[] audioCols = new String[] { BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ARTIST, AudioColumns.ALBUM};
      MatrixCursor playlistCursor = new MatrixCursor(audioCols);
  	for(int i = 0; i < mNowPlaying.length; i++){
  		data.moveToPosition(-1);
  		while (data.moveToNext()) {
              long audioid = data.getLong(data.getColumnIndexOrThrow(BaseColumns._ID));
          	if( audioid == mNowPlaying[i]) {
                  String trackName = data.getString(data.getColumnIndexOrThrow(MediaColumns.TITLE));
                  String artistName = data.getString(data.getColumnIndexOrThrow(AudioColumns.ARTIST));
                  String albumName = data.getString(data.getColumnIndexOrThrow(AudioColumns.ALBUM));
          		playlistCursor.addRow(new Object[] {audioid, trackName, artistName, albumName });
          	}
          }
  	}
      data.close();
mCursor = playlistCursor;
      super.onLoadFinished(loader, playlistCursor);
  }
 
源代码13 项目: mobile-manager-tool   文件: GenreListFragment.java
public void setupFragmentData(){
    mAdapter = new GenreListAdapter(getActivity(), R.layout.music_listview_items, null,
            								new String[] {}, new int[] {}, 0);
	mProjection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM,
            AudioColumns.ARTIST
    };
    StringBuilder where = new StringBuilder();
    where.append(AudioColumns.IS_MUSIC + "=1").append(
            				" AND " + MediaColumns.TITLE + " != ''");
    mWhere = where.toString();        
    mSortOrder = Genres.Members.DEFAULT_SORT_ORDER;
    mUri = Genres.Members.getContentUri(EXTERNAL, getArguments().getLong(BaseColumns._ID));
    mFragmentGroupId = 3;
    mType = TYPE_GENRE;
    mTitleColumn = MediaColumns.TITLE; 
}
 
源代码14 项目: mobile-manager-tool   文件: ArtistListFragment.java
@Override
public void setupFragmentData(){
    mAdapter = new ArtistListAdapter(getActivity(), R.layout.music_listview_items, null,
            								new String[] {}, new int[] {}, 0);
	mProjection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST
    };
    StringBuilder where = new StringBuilder();
    where.append(AudioColumns.IS_MUSIC + "=1")
    					.append(" AND " + MediaColumns.TITLE + " != ''");
    long artist_id = getArguments().getLong(BaseColumns._ID);
    where.append(" AND " + AudioColumns.ARTIST_ID + "=" + artist_id);
    mWhere = where.toString();        
    mSortOrder = MediaColumns.TITLE;
    mUri = Audio.Media.EXTERNAL_CONTENT_URI;
    mFragmentGroupId = 88;
    mType = TYPE_ARTIST;
    mTitleColumn = MediaColumns.TITLE; 
}
 
源代码15 项目: android-utils   文件: Utils.java
/**
 * Get the file path from the Media Content Uri for video, audio or images.
 *
 * @param mediaContentUri Media content Uri.
 **/
public static String getPathForMediaUri(Context context, Uri mediaContentUri) {

    Cursor cur = null;
    String path = null;

    try {
        String[] projection = {MediaColumns.DATA};
        cur = context.getContentResolver().query(mediaContentUri, projection, null, null, null);

        if (cur != null && cur.getCount() != 0) {
            cur.moveToFirst();
            path = cur.getString(cur.getColumnIndexOrThrow(MediaColumns.DATA));
        }

        // Log.v( TAG, "#getRealPathFromURI Path: " + path );
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (cur != null && !cur.isClosed())
            cur.close();
    }

    return path;
}
 
源代码16 项目: android-utils   文件: Utils.java
@Nullable
/**
 * @deprecated Use {@link MediaUtils#createImageUri(Context)}
 * Creates external content:// scheme uri to save the images at. The image saved at this
 * {@link android.net.Uri} will be visible via the gallery application on the device.
 */
public static Uri createImageUri(Context ctx) throws IOException {

    if (ctx == null) {
        throw new NullPointerException("Context cannot be null");
    }

    Uri imageUri = null;

    ContentValues values = new ContentValues();
    values.put(MediaColumns.TITLE, "");
    values.put(ImageColumns.DESCRIPTION, "");
    imageUri = ctx.getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);

    return imageUri;
}
 
源代码17 项目: android-utils   文件: Utils.java
@Nullable
/**
 * @deprecated Use {@link MediaUtils#createVideoUri(Context)}
 * Creates external content:// scheme uri to save the videos at.
 */
public static Uri createVideoUri(Context ctx) throws IOException {

    if (ctx == null) {
        throw new NullPointerException("Context cannot be null");
    }

    Uri imageUri;

    ContentValues values = new ContentValues();
    values.put(MediaColumns.TITLE, "");
    values.put(ImageColumns.DESCRIPTION, "");
    imageUri = ctx.getContentResolver().insert(Video.Media.EXTERNAL_CONTENT_URI, values);

    return imageUri;
}
 
源代码18 项目: Overchan-Android   文件: UriFileUtils.java
private static String getDataColumn(Context context, Uri uri, String selection, String[] selectionArgs) {
    Cursor cursor = null;
    final String column = MediaColumns.DATA;
    final String[] projection = { column };

    try {
        cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, null);
        if (cursor != null && cursor.moveToFirst()) {
            final int column_index = cursor.getColumnIndexOrThrow(column);
            return cursor.getString(column_index);
        }
    } finally {
        if (cursor != null) {
            cursor.close();
        }
    }
    return null;
}
 
源代码19 项目: Augendiagnose   文件: MediaStoreUtil.java
/**
 * Get an Uri from an file path.
 *
 * @param path The file path.
 * @return The Uri.
 */
public static Uri getUriFromFile(final String path) {
	ContentResolver resolver = Application.getAppContext().getContentResolver();

	Cursor filecursor = resolver.query(MediaStore.Files.getContentUri("external"),
			new String[]{BaseColumns._ID}, MediaColumns.DATA + " = ?",
			new String[]{path}, MediaColumns.DATE_ADDED + " desc");
	if (filecursor == null) {
		return null;
	}
	filecursor.moveToFirst();

	if (filecursor.isAfterLast()) {
		filecursor.close();
		ContentValues values = new ContentValues();
		values.put(MediaColumns.DATA, path);
		return resolver.insert(MediaStore.Files.getContentUri("external"), values);
	}
	else {
		int imageId = filecursor.getInt(filecursor.getColumnIndex(BaseColumns._ID));
		Uri uri = MediaStore.Files.getContentUri("external").buildUpon().appendPath(
				Integer.toString(imageId)).build();
		filecursor.close();
		return uri;
	}
}
 
源代码20 项目: SimpleExplorer   文件: MediaStoreUtils.java
public static Uri getUriFromFile(final String path, Context context) {
    ContentResolver resolver = context.getContentResolver();

    Cursor filecursor = resolver.query(MediaStore.Files.getContentUri("external"),
            new String[]{BaseColumns._ID}, MediaColumns.DATA + " = ?",
            new String[]{path}, MediaColumns.DATE_ADDED + " desc");
    filecursor.moveToFirst();

    if (filecursor.isAfterLast()) {
        filecursor.close();
        ContentValues values = new ContentValues();
        values.put(MediaColumns.DATA, path);
        return resolver.insert(MediaStore.Files.getContentUri("external"), values);
    } else {
        int imageId = filecursor.getInt(filecursor.getColumnIndex(BaseColumns._ID));
        Uri uri = MediaStore.Files.getContentUri("external").buildUpon().appendPath(
                Integer.toString(imageId)).build();
        filecursor.close();
        return uri;
    }
}
 
源代码21 项目: fanfouapp-opensource   文件: ImageHelper.java
/**
 * Store a picture that has just been saved to disk in the MediaStore.
 * 
 * @param imageFile
 *            The File of the picture
 * @return The Uri provided by the MediaStore.
 */
public static Uri storePicture(final Context ctx, final File imageFile,
        String imageName) {
    final ContentResolver cr = ctx.getContentResolver();
    imageName = imageName.substring(imageName.lastIndexOf('/') + 1);
    final ContentValues values = new ContentValues(7);
    values.put(MediaColumns.TITLE, imageName);
    values.put(MediaColumns.DISPLAY_NAME, imageName);
    values.put(ImageColumns.DESCRIPTION, "");
    values.put(ImageColumns.DATE_TAKEN, System.currentTimeMillis());
    values.put(MediaColumns.MIME_TYPE, "image/jpeg");
    values.put(ImageColumns.ORIENTATION, 0);
    final File parentFile = imageFile.getParentFile();
    final String path = parentFile.toString().toLowerCase();
    final String name = parentFile.getName().toLowerCase();
    values.put(Images.ImageColumns.BUCKET_ID, path.hashCode());
    values.put(Images.ImageColumns.BUCKET_DISPLAY_NAME, name);
    values.put("_data", imageFile.toString());

    final Uri uri = cr.insert(Images.Media.EXTERNAL_CONTENT_URI, values);

    return uri;
}
 
源代码22 项目: fanfouapp-opensource   文件: IOHelper.java
public static String getRealPathFromURI(final Context context,
        final Uri contentUri) {
    // get path from uri like content://media//
    final Cursor cursor = context.getContentResolver().query(contentUri,
            new String[] { MediaColumns.DATA }, null, null, null);
    String path = null;
    if (cursor != null) {
        final int column_index = cursor
                .getColumnIndexOrThrow(MediaColumns.DATA);
        cursor.moveToFirst();
        path = cursor.getString(column_index);
    } else {
        path = null;
    }
    cursor.close();
    if (path == null) {
        path = contentUri.getPath();
    }
    return path;
}
 
源代码23 项目: PowerFileExplorer   文件: AndroidPathUtils.java
/**
 * Get the Album Id from an Audio file.
 *
 * @param file The audio file.
 * @return The Album ID.
 */
@SuppressWarnings("resource")
public static int getAlbumIdFromAudioFile(@NonNull final File file, final Context c) {
	ContentResolver resolver = c.getContentResolver();
	Cursor cursor = resolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
								   new String[] {MediaStore.Audio.AlbumColumns.ALBUM_ID},
								   MediaStore.MediaColumns.DATA + "=?",
								   new String[] {file.getAbsolutePath()}, null);
	if (cursor == null || !cursor.moveToFirst()) {
		// Entry not available - create entry.
		if (cursor != null) {
			cursor.close();
			cursor = null;
		}
		ContentValues values = new ContentValues();
		values.put(MediaStore.MediaColumns.DATA, file.getAbsolutePath());
		values.put(MediaStore.MediaColumns.TITLE, "{MediaWrite Workaround}");
		values.put(MediaStore.MediaColumns.SIZE, file.length());
		values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mpeg");
		values.put(MediaStore.Audio.AudioColumns.IS_MUSIC, true);
		resolver.insert(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, values);
	}
	cursor = resolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
							new String[] {MediaStore.Audio.AlbumColumns.ALBUM_ID},
							MediaStore.MediaColumns.DATA + "=?",
							new String[] {file.getAbsolutePath()}, null);
	if (cursor == null) {
		return 0;
	}
	if (!cursor.moveToFirst()) {
		cursor.close();
		return 0;
	}
	int albumId = cursor.getInt(0);
	cursor.close();
	return albumId;
}
 
源代码24 项目: PowerFileExplorer   文件: AndroidPathUtils.java
/**
 * Delete a folder.
 *
 * @param file The folder name.
 * @return true if successful.
 */
public static boolean rmdir(@NonNull final File file, final Context c) {
	if (!file.exists()) {
		return true;
	}
	if (!file.isDirectory()) {
		return false;
	}
	String[] fileList = file.list();
	if (fileList != null && fileList.length > 0) {
		// Delete only empty folder.
		return false;
	}

	// Try the normal way
	if (file.delete()) {
		return true;
	}

	// Try with Storage Access Framework.
	if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)) {
		DocumentFile document = getDocumentFile(file, true, true, c);
		return document != null && document.delete();
	}

	// Try the Kitkat workaround.
	if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {
		ContentResolver resolver = c.getContentResolver();
		ContentValues values = new ContentValues();
		values.put(MediaStore.MediaColumns.DATA, file.getAbsolutePath());
		resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

		// Delete the created entry, such that content provider will delete the file.
		resolver.delete(MediaStore.Files.getContentUri("external"), MediaStore.MediaColumns.DATA + "=?",
				new String[] {file.getAbsolutePath()});
	}

	return !file.exists();
}
 
源代码25 项目: Camera2   文件: VideoModule.java
private void generateVideoFilename(int outputFileFormat)
{
    long dateTaken = System.currentTimeMillis();
    String title = createName(dateTaken);
    // Used when emailing.
    String filename = title + convertOutputFormatToFileExt(outputFileFormat);
    String mime = convertOutputFormatToMimeType(outputFileFormat);
    String path = Storage.DIRECTORY + '/' + filename;
    String tmpPath = path + ".tmp";
    mCurrentVideoValues = new ContentValues(9);
    mCurrentVideoValues.put(Video.Media.TITLE, title);
    mCurrentVideoValues.put(Video.Media.DISPLAY_NAME, filename);
    mCurrentVideoValues.put(Video.Media.DATE_TAKEN, dateTaken);
    mCurrentVideoValues.put(MediaColumns.DATE_MODIFIED, dateTaken / 1000);
    mCurrentVideoValues.put(Video.Media.MIME_TYPE, mime);
    mCurrentVideoValues.put(Video.Media.DATA, path);
    mCurrentVideoValues.put(Video.Media.WIDTH, mProfile.videoFrameWidth);
    mCurrentVideoValues.put(Video.Media.HEIGHT, mProfile.videoFrameHeight);
    mCurrentVideoValues.put(Video.Media.RESOLUTION,
            Integer.toString(mProfile.videoFrameWidth) + "x" +
                    Integer.toString(mProfile.videoFrameHeight));
    Location loc = mLocationManager.getCurrentLocation();
    if (loc != null)
    {
        mCurrentVideoValues.put(Video.Media.LATITUDE, loc.getLatitude());
        mCurrentVideoValues.put(Video.Media.LONGITUDE, loc.getLongitude());
    }
    mVideoFilename = tmpPath;
    Log.v(TAG, "New video filename: " + mVideoFilename);
}
 
源代码26 项目: Camera2   文件: Storage.java
private static void setImageSize(ContentValues values, int width, int height)
{
    // The two fields are available since ICS but got published in JB
    if (ApiHelper.HAS_MEDIA_COLUMNS_WIDTH_AND_HEIGHT)
    {
        values.put(MediaColumns.WIDTH, width);
        values.put(MediaColumns.HEIGHT, height);
    }
}
 
源代码27 项目: medialibrary   文件: LocalImage.java
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
private static void updateWidthAndHeightProjection() {
    if (ApiHelper.HAS_MEDIA_COLUMNS_WIDTH_AND_HEIGHT) {
        PROJECTION[INDEX_WIDTH] = MediaColumns.WIDTH;
        PROJECTION[INDEX_HEIGHT] = MediaColumns.HEIGHT;
    }
}
 
源代码28 项目: PHONK   文件: PApp.java
/**
 * Share Image with an app installed in the system
 *
 * @param imagePath
 * @status TODO
 */
@PhonkMethod
public void shareImage(String imagePath) {
    ContentValues values = new ContentValues();
    values.put(MediaColumns.MIME_TYPE, "image/png");
    //values.put(MediaColumns.DATA, AppRunnerSettings.get().project.getStoragePath() + "/" + imagePath);
    Uri uri = getContext().getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

    Intent shareIntent = new Intent(Intent.ACTION_SEND);
    shareIntent.setType("image/png");

    shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
    getContext().startActivity(shareIntent);
}
 
源代码29 项目: monolog-android   文件: ImageUtils.java
public static String getImagePath(Uri uri, Activity context) {

        String[] projection = {MediaColumns.DATA};
        Cursor cursor = context.getContentResolver().query(uri, projection,
                null, null, null);
        if (cursor != null) {
            cursor.moveToFirst();
            int columIndex = cursor.getColumnIndexOrThrow(MediaColumns.DATA);
            String ImagePath = cursor.getString(columIndex);
            cursor.close();
            return ImagePath;
        }

        return uri.toString();
    }
 
源代码30 项目: memoir   文件: MediaUtils.java
private static String getPathFromUri(Context context, Uri imageUri) {
    String filePath = "";

    if (imageUri.toString().startsWith("content://com.android.gallery3d.provider")) {
        imageUri = Uri.parse(imageUri.toString().replace("com.android.gallery3d", "com.google.android.gallery3d"));
    }

    Cursor cursor = null;
    try {
        String column = MediaColumns.DATA;
        String[] proj = {MediaColumns.DATA};

        cursor = context.getContentResolver().query(imageUri, proj, null, null, null);
        cursor.moveToFirst();

        if (imageUri.toString().startsWith("content://com.google.android.gallery3d")) {
            filePath = imageUri.toString();
        } else {
            filePath = cursor.getString(cursor.getColumnIndexOrThrow(column));
        }
    } catch (Exception ignore) {
        // Google Drive content provider throws an exception that we ignore
        // content://com.google.android.apps.docs.storage
    } finally {
        Helper.closeQuietly(cursor);
    }

    if (isNullOrEmpty(filePath) || !new File(filePath).exists() ||
            imageUri.toString().startsWith("content://com.google.android.gallery3d")) {
        filePath = imageUri.toString();
    }

    return filePath;
}
 
 类所在包
 类方法
 同包方法