問題タブ [android-mediascanner]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Audio.Media.EXTERNAL_CONTENT_URI の Android コンテンツ オブザーバーの変更を監視する
ファイル名、ファイルパス、および実行された操作を使用して、オーディオファイルのAndroid SDカードの変更を検出する必要があるAndroidアプリを開発しています。SD カードにファイルを追加する場合の例を知りたい
- 追加するファイル名
- ファイルのパス
- 操作 -- 追加
以前にファイルオブザーバーを試しましたが、そのためにはすべてのディレクトリに適用する必要があります。そこで、他の解決策を探して、Audio.Media.EXTERNAL_CONTENT_URIに関する情報を取得しました。次に、このようなコンテンツオブザーバーを作成しました
UriObserver.java -- これはコンテンツ オブザーバーです。
これはその登録用のコードです
音声ファイル関連のsdcardに一部変更があったことをお知らせいたします。ただし、どのファイルが追加、編集、または削除されたかについての情報は何も提供しません。
次に、解決策を検索し、この投稿を取得しました
Android: MTP 経由で接続したときに MediaStore の変更を検出する方法
この投稿では、いくつかのコードがBhieferによって回答として提供されていますが、これはうまくいくと思われるので、それを実装しようとしましたが、実装できませんでした。
これには何ができますか?
アップデート
Audio.Media.EXTERNAL_CONTENT_URI に最新の変更を問い合わせることはできますか? このコード:
最新の変更を提供しません。最新の変更を取得する他の方法はありますか?
android - MediaScanner が有効になっているかどうかを知る方法は?
MediaScanner Android システムとその実装方法、バッテリー消費、カードに到達できないなどのすべてが本当に気に入らないので、ディレクトリベースの画像ビューアーを作成しました。これでコンソールからスキャナーを無効にする(有効にする)方法を知っています:
今、ビューアーの Java コードからこれを行いたいと思います。もちろんできますがRuntime.getRuntime().exec(...)
、いくつか質問があります。
1) なしでこれを行う方法はありRuntime.getRuntime().exec()
ますか?
MediaScannerReceiver
2)が有効か無効かはどうすればわかりますか? 私はこれをグーグルで検索しましたが、アンサーが見つかりませんでした。はこれMediaScannerConnection
を制御していないようです。実際、私は何を意味するのかわかりpm
ません...
3) root アクセスなしでこれを行うことは可能ですか?
ありがとう!
android - Android の DownloadManager でダウンロードした JPG を Media Scanner がスキャンできないようにするには? (デベロッパー)
私のアプリケーションは、DownloadManager を使用して Web サイトから jpg をダウンロードし、/sdcard/Android/name.app/ ディレクトリに保存して、アプリケーションのいくつかのフラグメントで使用します。ダウンロードは問題なく動作しますが、jpg はギャラリー アプリケーションに表示されます。これらはアプリケーションの単なるアセットであるため、これは望ましくありません。ギャラリー アプリケーションに表示されないようにする方法がわかりません。作成されたディレクトリに .nomedia ファイルを追加しようとしました。どんな助けでも大歓迎です!
MediaScanner が画像をシステム データベースに追加しているため、要求していないにもかかわらず、問題が発生しているようです。
問題を示すテストアプリを作成しました。[ダウンロード] ボタンをクリックすると、Google ロゴがアプリに表示されます。ギャラリー アプリに移動すると、ダウンロードという名前のギャラリーにも Google ロゴが表示されます。[設定] -> [アプリ] に移動し、ギャラリーとメディア ストレージのデータを消去すると、ファイルが /sdcard/Android/data/ の下にあり、 .nomedia ファイル。/sdcard/Android/data/com.example.downloadmanagertest/files/Download/ に移動して、イメージがまだ電話にあることを確認できます。再起動後も、ギャラリーとメディア ストレージのデータを消去すると、画像がギャラリーに表示されません。4.2.2 を実行している Nexus 4 と Nexus 7 の両方でこれをテストしました。
ソース: https://dl.dropboxusercontent.com/u/114414/DownloadManagerTest.zip
android - Android Downloadmanager limit
I use the Android downloadmanager (above 2.3) for downloading many small files with different file extension (png,jpg,mov). After downloading 30000 images the android.process.media stop working and there isn't any exception message. The Downloaddir is /mnt/sd/Android/com.app.example/chache/files
I also preventing mediascanning for the downloaddir by using .nomedia files. http://android2know.blogspot.co.at/2013/01/create-nomedia-file.html Preventing Media Scanner from Scanning JPGs Downloaded with the DownloadManager on Android? (Developer)
Is the Android Downloadmanager not responsive for more than 40000 files? Should I write my own Downloadmanager in this case?
regards sebi
android - ファイルがギャラリー android に追加されない
私が作成しているこのアプリは、写真を撮ってSDカードに保存していますが、画像がギャラリーに表示されていません...私のコードに何か問題がありますか
画像はイメージビューに表示され、目的のディレクトリに保存されますが、現在はギャラリーに表示されています そして最後に、これはギャラリーに追加するためのコードです
android - SD カードを定期的にスキャンして特定の種類のファイルを探す方法は?
こんにちは、私は Android の初心者で、ppt ファイルと pdf ファイルの SD カードをスキャンして Google ドライブにアップロードする必要があるアプリに取り組んでいます。
scanFileが呼び出されたときに一度ファイルをスキャンして返すMediaScannerConnectionClientクラスを実装しました (この質問How to scan SD card for specific extension of files in android?のコードと同様の方法で) 。
ただし、アプリを起動してscanFileを呼び出した後でも、SD カードに追加されたファイルをアップロードできるようにする必要があります。
scanFileを一定時間間隔で継続的に呼び出す以外に、これを行う方法はありますか?
前もって感謝します
android - PC では空として表示されるが、スマートフォンでは空ではないファイル
Samsung Galaxy Nexus で奇妙な問題が発生しています。アプリケーションで作成および書き込みされたファイルは、電話自体で (ES ファイル エクスプローラー経由で) アクセスすると正常に表示されますが、PC で同じファイルを表示しようとすると、 (電話が USB 経由で接続されている場合)、0 バイトとして表示されます(開くと空になります)。
これらは、new File(dir, filename) を使用して作成し、PrintWriter の write メソッドを使用して書き込む通常のテキスト ファイルである必要があります。また、MediaScannerConnection.scanFile を使用して、新しいファイルをコンテンツ データベースに追加しています。
以前のアプリケーション (6 か月以上前) で基本的に同じコードを問題なく使用していたので、なぜ今は機能しないのか本当に混乱しています。誰かが同様の問題を抱えていましたか?
アップデート:
これはまだトラブルシューティング中です...さらに2つの観察により、私は完全に混乱しています。
別の PC で同じファイルにアクセスしてみましたが、問題なく動作しました。これは、ドライバーの問題である可能性があると考えていましたが、ドライバーをまったく変更していないため、それでも奇妙です (以前にこの問題を経験したことはありません)。
以前に作成した別のアプリケーションを使用してファイルを作成しようとしました。ファイルの作成などに基本的に同じ FileIO クラスを使用します。このアプリケーションではそのような問題は発生しません。
android - Refresh Android mediastore using adb
I'm using adb to sync music on an android phone. Essentially, I rm the existing music directory and push replacement music files.
I'd like to be able to use adb to force a rescan, so that the google music player (and other apps) works properly with the new songs and playlists.
According to How can I refresh MediaStore on Android? you can force a rescan by broadcasting an appropriate intent.
adb provides 'shell am broadcast', which would seem to allow me to force a rescan from adb.
Alternatively I could run a rescan app or reboot, but I'd like to trigger the rescan from adb
What adb command should I issue? The music files and playlists are all in /sdcard/music.