0

私はすでに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 です。私の初心者情報を許してください、どんなガイドでも大歓迎です。

4

0 に答える 0