Mediaserver w moim magazynie i zrootowanym systemie Android 6.0.1 (działającym na Nexusie 6) nie wykrywa nowych plików utworzonych lub przeniesionych do / sdcard za pomocą adb. Nie wykrywa, dopóki nie wykonam miękkiego / pełnego ponownego uruchomienia, którego wykonanie jest niedopuszczalne.
Mogę ręcznie uruchomić serwer mediów za pomocą wiersza poleceń, aby ponownie rozpocząć skanowanie plików # i chcę, aby było to wykonywane automatycznie i natychmiast po utworzeniu nowego pliku w katalogu / sdcard . W tej chwili Tasker uruchamia serwer mediów za każdym razem, gdy kabel USB jest odłączony. *
Wydaje się, że oczywistym wyborem jest tutaj być aplikacją do automatyzacji, z której wypróbowałem Tasker i Automate, i oba zdumiewająco nie zdołały wykryć nowych plików, szczególnie w / sdcard / Music, gdy zostały utworzone za pomocą adb. Jeśli jednak aplikacja utworzyła pliki w dowolnym katalogu w lokalizacji / sdcard , te dwie aplikacje natychmiast wykryły zmiany. Próbowałem też przesłać pliki do / storage / emulated / 0 / zamiast / sdcard / i wprowadziłem odpowiednie zmiany w wyzwalaczach tych dwóch aplikacji. Ten krok nie przyniósł mi korzyści .
Należy zauważyć, że zauważyłem ten problem w standardowym systemie Android 5.1.1, a także w wersji migawki CM13.
Jak więc osiągnąć cel?
Aktualizacja
Zdaję sobie sprawę z możliwości utworzenia aliasu w systemie operacyjnym działającym na moim komputerze, który uruchamiałby skrypt umożliwiający przesłanie pliku, a także uruchomienie serwera mediów. Jest to jednak coś, czego chciałbym uniknąć w jak największym stopniu.
* Używałem go, ale później przełączono na skrypt wykonywany z komputera PC za pomocą aliasu. Jednak nie chcę polegać na żadnej z dwóch metod . Nie przeszkadza mi pisanie adb push zamiast adb_push lub innego oprócz jednego słowa.
Aktualizacja 2
- Nie zamierzam ograniczać się do konkretnego katalogu, takiego jak Download, i ani wrzucanie plików do tego drugiego nie działa.
- Chciałbym podkreślić, że nie proszę o jak uruchomić serwer mediów . To już wiem. Wszystko, czego szukam, to: Za każdym razem, gdy wykonuję
adb push FILE / sdcard / FILE
, serwer mediów powinien automatycznie i natychmiast uruchomić i skanować plik. Niezależnie od jakichkolwiek zauważalnych problemów z wydajnością, chcę, aby pojawiały się za każdym razem.
Aktualizacja 3
OK, mogę używać nieprawidłowego terminu . Być może serwer mediów i skaner multimediów to terminy określające dwie różne rzeczy w Androidzie. W razie niejasności trzymaj się „skanera multimediów” zarówno dla aktualnej wersji, jak i dla nagrody.
Aktualizacja 4
# Dzięki uprzejmości androidyue dla tego pomocnego zasobu, każde z następujących poleceń we wstępnie sformatowanym tekście jest tym, czego mogę użyć w moim urządzeniu, aby skaner multimediów skanował plik.
# FILE_PATH odnosi się do lokalizacji przekazanego pliku w systemie Android. Na przykład. /sdcard/Music/lolcat.mp3am broadcast -a android.intent.action.BOOT_COMPLETED -n com.android.providers.media/.MediaScannerReceiveram broadcast -a android.intent.action.MEDIA_SCANNER_SCAN_FILE -d file: // FILE_PATH # gwarantowane praca. Zobacz https://goo.gl/lH0CLT, aby uzyskać informacje na temat transmisji proof.am -a android.intent.action.MEDIA_MOUNTED -d file: // FILE_PATH
Update 5
Zgodnie z sugestia od Manubhargav, wypróbowałem MTPFix firmy Sarkie dostępne tutaj. To nie zadziałało, zarówno w magazynie Android 6.0.1, jak i CM13. Widziałem następujący wpis po włączeniu usługi dla tej aplikacji.
04-07 09: 38: 14.771 3383 3383 I MTPService: Watching / storage / emulated / 0
Później umieściłem plik dźwiękowy w / storage / emulated / 0 / i nic nie pokazało się w moim odtwarzaczu muzyki. Logcat również nie wyświetlał niczego przydatnego.
Nawiasem mówiąc, ta aplikacja używa FileObserver, więc nie jestem zaskoczony, jeśli nie mógł wykryć plików utworzonych za pomocą adb, ponieważ jest to ten sam problem z aplikacjami do automatyzacji, które wypróbowałem.
Uwaga: opublikuj odpowiedź tylko po przetestowaniu jej samodzielnie. Dziękuję!