三星Galaxy S手机调用铃声偏好设置时出现空指针异常。

6

在三星Galaxy手机上调用RingTonePreference时,我收到以下消息(其他手机一切正常):

java.lang.RuntimeException: Unable to start activity ComponentInfo{android/com.a
ndroid.internal.app.RingtonePickerActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:85
8)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.android.internal.app.RingtonePickerActivity.onPrepareListView(RingtonePic
kerActivity.java:252)
at com.android.internal.app.AlertController$AlertParams.createListView(AlertCont
roller.java:909)
at com.android.internal.app.AlertController$AlertParams.apply(AlertController.ja
va:824)
at com.android.internal.app.AlertActivity.setupAlert(AlertActivity.java:73)
at com.android.internal.app.RingtonePickerActivity.onCreate(RingtonePickerActivi
ty.java:226)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
... 11 more

更新:这是它的名称:

 <RingtonePreference android:key="pref_notification_ringTone"
                android:title="@string/pref_notification_Ringtone"
                android:ringtoneType="notification" android:showDefault="true"
                android:showSilent="false" />

PS:我知道已经有类似的问题被问过了,但是没有给出答案 (https://stackoverflow.com/questions/5428768/notification-or-alarm-sound-picker-crash-on-galaxy-s/5872352#5872352)

请注意:此处提到已有类似的问题,但是并未得到解决。

你在RingtonePickerActivity的onPrepareListView方法里做了什么吗? - Nathan Fig
不,我只是添加了以下内容:<RingtonePreference android:key="pref_notification_ringTone" android:title="@string/pref_notification_Ringtone" android:ringtoneType="notification" android:showDefault="true" android:showSilent="false" /> - frdroid
你没有在任何地方特别引用RingtonePickerActivity吗? - Cheryl Simon
我更新了描述,添加了它的名称。 - frdroid
将showSilent设置为true即可解决。 - frdroid
@frdroid 将其发布为答案并接受您自己的答案(最好附有一些描述,说明它已经修复)。 - Audrius
1个回答

3
这个问题可以通过在相关定义中设置“showSilent=true”来解决,显然这是Galaxy S特有的一个bug。

这就是我做的,但我忘记把答案放在网站上了。无论如何,非常感谢你的回答。 - frdroid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接