sadd

InputStream is = this.getResources().openRawResource(R.raw.archerready1);
		File ringtoneMediaFile = new File("/sdcard/.w3media/");
		
		if(!ringtoneMediaFile.exists()){
			try {
				if(!ringtoneMediaFile.createNewFile())
					//prompt root
					return;
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		String fileName = "aa";//get from tag
		try {
			OutputStreamWriter os = new OutputStreamWriter(new FileOutputStream(new File(ringtoneMediaFile,fileName)));
			byte[] b = new byte[32];
			try {
				int bytesRead = is.read(b);
				while(bytesRead != -1){
					byte[] tmp = new byte[bytesRead];
					System.arraycopy(b, 0, tmp, 0, bytesRead);
					os.write(new String(tmp));
				}
				os.write(new String(b).trim());
			} catch (IOException e) {
				e.printStackTrace();
			}
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
		}
		File ringTone = new File(ringtoneMediaFile, fileName);
		ContentValues values = new ContentValues();
		values.put(MediaStore.MediaColumns.DATA, ringTone.getAbsolutePath());
		values.put(MediaStore.MediaColumns.TITLE, "My Song title");
		values.put(MediaStore.MediaColumns.SIZE, 215454);
		values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
		values.put(MediaStore.Audio.Media.ARTIST, "Madonna");
		values.put(MediaStore.Audio.Media.DURATION, 230);
		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);
		//Insert it into the databaseUri
		Uri uri = MediaStore.Audio.Media.getContentUriForPath(ringTone.getAbsolutePath());
		Uri newUri = this.getContentResolver().insert(uri, values);
		RingtoneManager.setActualDefaultRingtoneUri(  this,  RingtoneManager.TYPE_RINGTONE,  newUri); 

你可能感兴趣的:(OS)