0

我在从 PreferenceActivity 更改铃声、通知等的音量时遇到问题。

我的 pref.xml 对于卷看起来像这样:

    <PreferenceCategory
            android:title="Incoming Call">

    <RingtonePreference
            android:name="Ringtone Preference"
            android:summary="Select a ringtone"
            android:title="Ringtones"
            android:key="ringtonePref" />
    <VolumePreference
        android:name="Volume Preference"
        android:summary="Ringtone Volume"
        android:title="Ringtone Volume"
        android:key="ringVolPref"/>

    </PreferenceCategory>

而且我不知道如何更改铃声的音量(对于通知音量,我已经声明了另一个 PreferenceCategory。)。

这是 PreferenceActivity 的代码:

public class SettingTest extends PreferenceActivity implements onPreferenceClickListener {

    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.layout.ringtone);

        RingtonePreference ringVolPref = (RingtonePreference) findPreference("ringVolPref");
        RingtonePreference notifVolPref = (RingtonePreference) findPreference("notifVolPref");

    public boolean  onPreferenceClick(Preference preference){
        int progress = 1;
        if (preference.getKey().equals("ringVolPref")){

            AudioManager aManager = (AudioManager) getSystemService(AUDIO_SERVICE);
            aManager.setStreamVolume(AudioManager.STREAM_RING, progress, AudioManager.FLAG_SHOW_UI + AudioManager.FLAG_PLAY_SOUND);


        }
        return true;

      }

而且我不知道如何将代码放在 onPreferenceClic() 中。请帮助各位。提前致谢

4

1 回答 1

0

您需要onPreferenceClickListener在您的类中实现,然后在onPreferenceClick您覆盖的方法上使用您在 xml 中设置的键来查找点击了什么

有关类似示例,请参见此处

于 2012-05-16T19:59:26.510 回答