私はすでにRAWからオーディオファイルを再生するための適切なものを持っていて、それをいじっていますが、ここで私がやりたいことは次のとおりです。ユーザーがSDカードからオーディオを選択できるようにしたいです。それを選択して、アプリが彼のために再生するようにします。私は持っている :
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
次に、設定で:私は持っています:
<Preference
android:title="Pick file"
android:key="filePicker" />
そして、ShowPreferenceActivity には次のようなものがあります。
Preference filePicker = (Preference) findPreference("filePicker");
filePicker.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
//Intent intent = new Intent("org.openintents.action.PICK_FILE"); //Intent to start openIntents File Manager
//startActivityForResult(intent, 1);
Log.v("filePicker:", "filePicker got CLICKED");
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("Audio/mp3");
startActivityForResult(intent, 1);
return true;
また:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//get the new value from Intent data
String newValue = "";
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("filePicker", newValue);
Log.v("filePicker:RESULT:", newValue);
editor.commit();
log.v が呼び出されないため、問題はここにあると確信しています。だから私がしようとするところはどこでも:
SharedPreferences sharedPrefs = PreferenceManager
.getDefaultSharedPreferences(this);
String changedRINGTONE=sharedPrefs.getString("filepicker", "NULL");
changedRINGTONE
無効です。getString で渡した NULL (大文字) ではなく、実際には null です。私の初心者情報を許してください、どんなガイドでも大歓迎です。