码迷,mamicode.com
首页 > 其他好文 > 详细

ContentProvider学习笔记

时间:2016-04-05 15:35:18      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
        MusicInfo data = params[0];
        String path = null;
        String musicTitle = data.getMusicName();
        if (data instanceof LocalMusicInfo) {
            path = ((LocalMusicInfo) data).getFilePath();
        } else {
            List<LocalMusicInfo> musics = NeteaseMusicApplication.getInstance().getDownloadManager().getCompleteTracksByIds(Arrays.asList(new Long[]{data.getId()}));
            if (musics.size() > 0) {
                path = musics.get(0).getFilePath();
            } else {
                return false;
            }
        }
        File[] files = new File(NeteaseMusicConst.workPath).listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String filename) {
                return filename.startsWith(NeteaseMusicConst.cloudMusicRingtonePrex);
            }
        });
        if (files != null) {
            for (File file : files) {
                if (!file.isDirectory()) {
                    file.delete();
                }
            }
        }
        String ringtonePath = NeteaseMusicConst.ringtonePath + System.currentTimeMillis();
        if (!FileUtils.copy(path, ringtonePath, false)) {
            return false;
        }
        ContentValues values = new ContentValues();
        values.put(MediaStore.MediaColumns.DATA, ringtonePath);
        values.put(MediaStore.MediaColumns.TITLE, musicTitle);
        values.put(MediaStore.MediaColumns.DISPLAY_NAME, musicTitle);
        values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
        values.put(MediaStore.Audio.Media.ARTIST, data.getSingerName());
        values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
        values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
        values.put(MediaStore.Audio.Media.IS_ALARM, false);
        values.put(MediaStore.Audio.Media.IS_MUSIC, false);
        Uri uri = MediaStore.Audio.Media.getContentUriForPath(ringtonePath);
        context.getContentResolver().delete(uri, String.format("%s=‘%s‘", MediaColumns.DATA, ringtonePath), null);
        Uri newUri = context.getContentResolver().insert(uri, values);
        try {
            RingtoneManager.setActualDefaultRingtoneUri(context, RingtoneManager.TYPE_RINGTONE, newUri);
            return true;
        } catch (Throwable t) {
            return false;
        }
View Code

 

ContentProvider学习笔记

标签:

原文地址:http://www.cnblogs.com/lya-nju/p/5354974.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!