Câu hỏi này có thể trùng lặp với this question nhưng tôi thấy một số khác biệt về mã, vì vậy tôi đặt một câu hỏi mới.Tại sao RingtoneManager.setActualDefaultRingtoneUri không thể hoạt động? [android API-8]
Vấn đề là tôi không thể đặt nhạc chuông đã chọn trong RingtonePicker. Tôi sử dụng Support Library và AndroidAnnotations, có thể nó có thể gây ra vấn đề như vậy (mặc dù tôi nghi ngờ nó).
Tôi có Phân đoạn bằng một nút trong đó. Khi nhấp vào nút, RingtonePicker sẽ được kích hoạt. Người dùng chọn nhạc chuông và ứng dụng lưu nó trong SharedPreference. Lần tới khi người dùng mở RingtonePicker, nhạc chuông được chọn trước đó phải được chọn và tôi không thể thực hiện việc đó.
Đây là Fragment tôi
@EFragment(R.layout.pref_page)
public class PrefPage extends Fragment {
@Pref
MyPrefs_ myPrefs;
@Click(R.id.ringtone_button)
public void onClick() {
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
RingtoneManager.TYPE_NOTIFICATION);
String uri = myPrefs.beepUri().get();
if (uri != "") {
Log.i("Log", "uri is " + uri);
RingtoneManager.setActualDefaultRingtoneUri(
getActivity(),
RingtoneManager.TYPE_NOTIFICATION,
Uri.parse(uri));
}
startActivityForResult(intent, 1);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == -1) {
Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
if (uri != null) {
String uriString = uri.toString();
Log.i("Log", "uriString is " + uriString);
myPrefs.edit().beepUri().put(uriString).apply();
}
}
}
}
Trong hai từ câu hỏi là - tại sao RingtoneManager.setActualDefaultRingtoneUri không làm việc ở đây?
CẬP NHẬT:
tôi có quyền WRITE_SETTINGS trong manifest của tôi.
<uses-permission android:name="android.permission.WRITE_SETTINGS" ></uses-permission>
Câu hỏi này hơi cũ nhưng nếu bạn chưa bao giờ kết thúc khắc phục sự cố tôi đã có một chút kinh nghiệm về cài đặt nhạc chuông ngay bây giờ. Nếu bạn muốn đăng lỗi mà bạn có hoặc nếu bạn có thể mô tả lý do tại sao nó không hoạt động, tôi rất sẵn lòng trợ giúp. Nếu không, tôi rất muốn nhìn thấy câu trả lời cho câu hỏi này. –
@Paradopolis Không, tôi không có bất kỳ lỗi nào. Nếu không ai biết tại sao phương pháp này không thể làm việc thì tôi mong đợi một số đoạn mã làm việc. –
@VitaliiKorsakov: Có thể nó yêu cầu ' '. Xem [tại đây] (http://developer.android.com/reference/android/Manifest.permission.html#MODIFY_AUDIO_SETTINGS) để biết thêm thông tin. Bạn có đang thử nghiệm mã của mình trên thiết bị bắt nguồn, không bắt nguồn từ hoặc trình giả lập không? –
ChuongPham