android - Setzt einen benutzerdefinierten Klingelton auf eine bestimmte Kontaktnummer
Ich versuche, eine Android-App zu entwickeln. Ich muss einer bestimmten Kontaktnummer einen Klingelton zuweisen, ohne dem Benutzer den Zugriff auf die Kontaktliste zu gestatten.
Hier ist der Code zum Zuweisen eines Klingeltons an alle Kontakte:
File k = new File("/sdcard/AudioRecorder", "hello.mp4");
// Uri i = data.getData(); //getDATA
//String s = i.getPath(); //getPath
// File k = new File(s); //set File from path
//if(s!=null){ //(file.exists
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "ring");
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp4");
values.put(MediaStore.MediaColumns.SIZE, k.length());
values.put(MediaStore.Audio.Media.ARTIST, R.string.app_name);
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
values.put(MediaStore.Audio.Media.IS_ALARM, true);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + k.getAbsolutePath() + "\"", null);
Uri newUri = getContentResolver().insert(uri, values);
try {
RingtoneManager.setActualDefaultRingtoneUri(MainActivity.this, RingtoneManager.TYPE_RINGTONE, newUri);
} catch (Throwable t) {
}
Wie kann ich dies für einen bestimmten Kontakt tun?