私がしようとしているのは、選択された着信音をユーザから取得し、アラームがオフになったときにその着信音を再生するようにAlarmManagerアラームを設定することです。電話機の再起動後にすべてのアラームをリセットできるように、データベースに着信音を保存する必要があります。Android:データベースへのandroid.net.Uriのオブジェクト
私の質問は、後で検索するために着メロUriをデータベースに保存する最良の方法は何ですか?
私は以下のことを試してみました:
1)DBにおける着信音のタイトルを保存し、それを取得し、デフォルトの着信音・パスに追加します。しかし問題は、着信音が別の場所からロードされている可能性があるということです。 2)URIスキームを保存し、speficiパートとフラグメントをスキームし、Uri.fromPartsを呼び出してUriを作成します。 3)UriからinputStream、byte []配列を作成し、blobとして保存してから読み込み、結果をUri
にキャストします。
あなたのヘルプははるかに高く評価されます。
ご回答いただきありがとうございます。 Uri.decodeはUriではなくStringを返します。私はuri.parse(s)を使用し、それはUriを返しましたが、元のもの(多くの欠落した情報とフィールド)と同じではありません。 MediaPlayerはそれを正しく再生せず、準備を中断します。 – Sammy
uri.toString()を使用して、文字列形式のURIを取得してください。 –
toStringが正常に機能しました。 – Sammy