联系人铃声设置,但是当该联系人来电android.process.phone丧生 [英] Contact Ringtone set but android.process.phone killed when that contact calls
问题描述
我想设置存储在我的 /存储/ sdcard0 /铃声
来接触我希望铃声(MP3文件)。在运行应用程序,铃声会保存,我可以看到它上市的时候我打开该联系人。然而,当来电联系。
我不明白的电话,我的屏幕上出现以下消息:过程com.android.phone停止
下面是code,我现在用的设置铃声的联系人 -
注:K是它可以对.MP3剪辑文件名和路径的File对象 字符串STR1 = c.getString(c.getColumnIndexOrThrow(_ ID)); 乌里localUri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI,STR1); ContentValues localContentValues =新ContentValues(); localContentValues.put(ContactsContract.Data.RAW_CONTACT_ID,使用ContactID); localContentValues.put(ContactsContract.Contacts.CUSTOM_RINGTONE,k.getAbsolutePath()); getContentResolver()更新(localUri,localContentValues,NULL,NULL);
logcat的错误,当联系人呼叫:
01-16 15:27:09.632:E / AndroidRuntime(24282):致命异常:主要
01-16 15:27:09.632:E / AndroidRuntime(24282):显示java.lang.NullPointerException
01-16 15:27:09.632:E / AndroidRuntime(24282):在com.android.phone.Ringer.isValidRingtoneURI(Ringer.java:742)
01-16 15:27:09.632:E / AndroidRuntime(24282):在com.android.phone.CallNotifier.onQueryComplete(CallNotifier.java:2079)
您应该提供开放的,而不是绝对路径(见<一href=\"http://developer.android.com/reference/android/provider/ContactsContract.ContactOptionsColumns.html#CUSTOM_RINGTONE\"相对=nofollow>这里):
乌里uriOfRt = Uri.fromFile(新文件(k.getAbsolutePath()));
localContentValues.put(ContactsContract.Contacts.CUSTOM_RINGTONE,uriOfRt);
I am trying to set a ringtone(mp3 file) stored on my /storage/sdcard0/Ringtones
to a contact I wish. On running the app, the ringtone gets saved and I can see it listed when I open that contact. However, when that contact calls.
I do not get the call and the below message appears on my screen : process com.android.phone stops.
Below is the code which I am using to set ringtone to a contact -
Nb: K is the File object which has the filename and path for the .mp3 clip
String str1 = c.getString(c.getColumnIndexOrThrow("_id"));
Uri localUri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, str1);
ContentValues localContentValues = new ContentValues();
localContentValues.put(ContactsContract.Data.RAW_CONTACT_ID, contactId);
localContentValues.put(ContactsContract.Contacts.CUSTOM_RINGTONE, k.getAbsolutePath());
getContentResolver().update(localUri, localContentValues, null, null);
Logcat error when contact calls :
01-16 15:27:09.632: E/AndroidRuntime(24282): FATAL EXCEPTION: main
01-16 15:27:09.632: E/AndroidRuntime(24282): java.lang.NullPointerException
01-16 15:27:09.632: E/AndroidRuntime(24282): at com.android.phone.Ringer.isValidRingtoneURI(Ringer.java:742)
01-16 15:27:09.632: E/AndroidRuntime(24282): at com.android.phone.CallNotifier.onQueryComplete(CallNotifier.java:2079)
You should provide Uri rather than absolute path (see here):
Uri uriOfRt = Uri.fromFile(new File( k.getAbsolutePath()));
localContentValues.put(ContactsContract.Contacts.CUSTOM_RINGTONE, uriOfRt);
这篇关于联系人铃声设置,但是当该联系人来电android.process.phone丧生的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!