私はこのフォーラムとアンドロイドの初心者です。私の弱い英語でごめんなさい。
私はAndroid 1.5用にプログラミングしています。私のアプリケーションでは、内蔵のサウンド レコーダーを使用してオーディオを録音したいと考えています。このために、アクションを使用してサウンドレコーダーを開始しています-
"MediaStore.Audio.Media.RECORD_SOUND_ACTION"
インテントのために。でonActivityResult()
、新しく作成したオーディオ ファイルをカスタム フォルダにコピーしました/sdcard/myRecordings/sound_1.3gpp
。
サウンドレコーダーで作成した元のファイルを削除したいと思います。
DDMS ビューでは、ファイルがフォルダーに作成されていることがわかりました -
"/sdcard/recordingXXXX.3gpp"
ファイル名に XXXX が含まれています。これらは、サウンド レコーダーを使用して音声を録音するたびに変化する数字です。インターネットを検索しましたが、「このファイルを削除するにはどうすればよいですか?」という解決策が見つかりませんでした。または「これらのファイルの場所をプログラムで取得するにはどうすればよいですか?」(DDMSビューで表示しているため)
誰かがContentResolver
、サウンド レコーダー アクティビティによって返された Uri を指定してファイルを削除することを提案しました。私はこれを使用してこれを行いました-
ContentResolver oContentResolver = getContentResolver();
oContentResolver.delete(oUri, null, null);
ただし、Uri エントリのみが削除され、ファイルは上記のフォルダーに残ります。1 つの提案は、メディア スキャナー アクティビティを開始することでした。私はこれを使用してこれを行いました-
sendBroadcast(new Intent(
Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://" + Environment.getExternalStorageDirectory())));
マニフェスト ファイルに適切なインテント フィルターを追加しましたが、アプリケーションを起動するとエミュレーターが停止します。
誰でもこれについて洞察を与えることができますか?どんな助けでも大歓迎です!
ありがとう!