2011-02-04 11 views
3

私は自分のアプリ内からSDカードに保存したサウンドから着メロを設定しようとしています。私がこれで見つけることができるすべての投稿を通過した後、私は近いと思うだけで、URIの権利を定義していない。Android:着メロとしてSDカードからサウンドを設定する

​​

は通常URIは、より多くのように定義されています。

Uri uri = MediaStore.Audio.Media.getContentUriForPath(ringPath.getAbsolutePath()); 
Uri newUri = main.getContentResolver().insert(uri, values); 

しかし、私はかなりそれのすべてのポイントを見ていない、そしてそれは彼らがおそらく任意のではありませんことを(私にはむしろ厄介なエラーを与えました私の現在のものより悪い)。私はそれを行うために必要な方法だと確信していますが、私のコードのuriは実際に適切なパスを返します(そして、私の誤用のために他のものは許されません)。作業。正直言って、パスを指定するのではなく、URIを使用する必要はありません。

誰かが私に少し説明を与えたり、どこかにリンクしてくれれば、これを本当に理解してこの問題を回避することができました。とても感謝しています。

+0

あなたのアプリケーションに与えられたアクセス許可はありますか?あなたのアプリがSDカードにアクセスする許可を持っていることを確認する必要があります。 – SpencerElliott

+0

私は外部ストレージに書き込む権限を与えましたが、SDカードにサウンドを保存できるので、正しく設定されていることが分かりました。私はカードからの読書が必要なパーミッションはないと信じています。私は確かめるために二重チェックをしました。 – Peacecraft

答えて

0

ねえ、私はあなたのファイルが実際にこのラインatfer


File ringPath = new File(path, filename); 

利用コードが存在している場合は、チェックを開始するためにあなたをお勧めしますpath.soあなたPROBはなっていないと思う:


boolean b=ringPath.exists(); 

することができますよりも、それがtrueを返す場合私はurのコードで見ることができるエラーがないと思う。

+0

私はそれを確認するために以前にその小切手を使用しましたが、私はもう一度やりました。しばらくしばらく触れた後、音が着メロのリストに表示され、機能するようになりましたが、最初に着信音として設定しようとすると何とか失敗します。代わりにデフォルトのリングに置き換えられます。最悪のシナリオ私はそれを好きなように使うことができますが、ユーザーがそれを聞いたときに着信音を完全に設定することを好みます。 – Peacecraft

0

メニュー - >設定 - >アプリケーション - >開発に移動して、電話機のデバッグを終了してから、ボックスのチェックを外します。行ってもいい。

関連する問題