Androidアプリケーション内からシステムの着信音を設定できるようにしたいと思います。コード内でサウンドを直接参照することは一度もなく、代わりにintを介してサウンドを参照するセットアップを使用しているため、少し興味深い問題に直面しています。そのため、オンラインで見つけたコードは私にはまったく当てはまりません。
着信音を設定するコードが正しいかどうかわかりません。それは私の着信音を置き換えますが、私が要求する音に置き換えることはありません。「Uri.parse」を使用して正しいファイルを見つけるためのパスを指定すると、着信音が何も置き換えられませんでした。ここで、「Uri.fromFile」を使用し、ファイルを介してサウンドを参照すると、通常の電話のサウンドに置き換えられます。これは、ある種のデフォルトであると思います。
これによるエラーは発生しませんが、関連性があると思われる警告が1つ表示されます。
dataChanged but no participant pkg='com.android.providers.settings' uid=10096
ファイルを正しく参照していないようです。文字列でサウンドへのパスを取得し、もちろんそれらをファイルとして定義することはできますが、どこかに何かが欠けているに違いありません。
どんなアイデアでも大歓迎です、ありがとう。
編集::さて、エラーは「着信音を変更」した場合にのみ表示されるようです。したがって、着信音と同じサウンドを再度設定すると表示されませんが、別のサウンドを設定すると表示されます。私にとって、これはまだ私がしていることすべてを見ていることを意味しますが、私は音を適切に参照していないので、そこに何を置くべきかわかりません。
編集::これらは、設定の着信音の他の例に掲載されているのと同じセットアップを使用しようとしたときに発生するエラーの主なポイントです。
これらは私が最初にそれを着信音として設定しようとしたときです:
02-01 11:51:20.709: ERROR/MediaPlayerService(1157): Couldn't open fd for content://settings/system/ringtone
02-01 11:51:20.709: ERROR/MediaPlayer(13807): Unable to to create media player
02-01 11:51:20.709: ERROR/RingtoneManager(13807): Failed to open ringtone content://settings/system/ringtone
02-01 11:51:20.709: ERROR/MediaPlayer(13807): Unable to to create media player
02-01 11:51:20.716: WARN/Ringtone(13807): Couldn't set the stream type
02-01 11:51:20.716: WARN/Ringtone(13807): java.io.IOException: setDataSourceFD failed.: status=0x80000000
これは、音量設定に移動して着信音の音量を変更した場合です。
02-01 11:51:23.568: ERROR/MediaPlayer(13807): Unable to to create media player
02-01 11:51:23.568: ERROR/Ringtone(13807): play() caught
02-01 11:51:23.568: ERROR/Ringtone(13807): java.io.IOException: setDataSourceFD failed.: status=0x80000000