2011-01-24 2 views
0

おそらく非常に単純な解決策ですが、これまでのところほとんど経験がありません。 Android 2.2(mnt/sdcard)と以前のバージョン(/ sdcard)の両方で動作するように、次のように変更するにはどうすればよいですか。アンドロイド:SDカード機能を保存する方法は、Android 2.2以前の場合と同様です。2.2

ありがとうございます!

String path="/sdcard/media/audio/notifications/";  
String filename="sound1"+".ogg";   

boolean exists = (new File(path)).exists(); 
     if (!exists){new File(path).mkdirs();}   
FileOutputStream save;  
try {  save = new FileOutputStream(path+filename);   
save.write(buffer);   
save.flush();   
save.close();   } 
catch (FileNotFoundException e) {   
// TODO Auto-generated catch block   
return false;  } catch (IOException e) {  
// TODO Auto-generated catch block   
return false;  }  

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://"+path+filename)));   

File k = new File(path, filename);   

ContentValues values = new ContentValues();   
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());   
values.put(MediaStore.MediaColumns.TITLE, "sound1 Notification");   
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/ogg");   
values.put(MediaStore.Audio.Media.ARTIST, "cssounds ");   
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);   
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);   
values.put(MediaStore.Audio.Media.IS_ALARM, true);   
values.put(MediaStore.Audio.Media.IS_MUSIC, false);   

//Insert it into the database  
this.getContentResolver().insert(MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath()), values);  
return true;  } 

// user432209コメントした後、私はこれを持って、それはpathDir = Environment.getExternalStorageDirectory()

ファイルを働いています。

String path = pathDir + "/ media/audio/notifications /"; 文字列ファイル名= "sound1" + "。ogg";

答えて

1

おそらくSDカードに直接保存したくないでしょう。私はあなたに保存したいと思っている "電話に尋ねる"ことをお勧めします。

File externalDirectory = Environment.getExternalStorageDirectory(); 
+0

返信いただきありがとうございます、私の無知を許してください、どのように私は上記に含めるか? – Aaron

+0

心配しないで、私はそれが私の考えだと思う。これが間違っている場合は、私がそれをより良くする方法を教えてください。どうもありがとうございました!!! – Aaron

関連する問題