क्योंकि मुझे यकीन है कि Mediastore रिबूट करने मैं मैं पर पाया लोकप्रिय तरीका का उपयोग कर MediaScanner आरंभ करवाना चाहते बिना नवीनतम जानकारी है बनाना चाहते अतःनेक्सस 7 पर मीडियास्केन कैसे ट्रिगर करें?
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://" + Environment.getExternalStorageDirectory())));
यह मेरा सैमसंग एस 2 पर ठीक काम करता है w/आईसीएस लेकिन मेरे नेक्सस 7 डब्ल्यू/जेलीबीन पर नहीं। Logcat मेरी Nexus 7 पर इस से पता चलता:
WARN/ActivityManager(480): Permission denied: checkComponentPermission() owningUid=10014
WARN/BroadcastQueue(480): Permission Denial: broadcasting Intent { act=android.intent.action.MEDIA_MOUNTED dat=file:///storage/emulated/0 flg=0x10 } from com.example.foo.bar (pid=17488, uid=10046) is not exported from uid 10014 due to receiver com.android.providers.downloads/.DownloadReceiver
INFO/ActivityManager(480): Start proc com.google.android.music:main for broadcast com.google.android.music/.store.MediaStoreImportService$Receiver: pid=17858 uid=10038 gids={50038, 3003, 1015, 1028}
INFO/MusicStore(17858): Database version: 50
INFO/MediaStoreImporter(17858): Update: incremental Added music: 0 Updated music: 0 Deleted music: 0 Created playlists: 0 Updated playlists: 0 Deleted playlists: 0 Inserted playlist items: 0 Deleted playlist items: 0 Removed orphaned playlist items: 0
अंतिम पंक्ति सिद्धांत रूप में प्रोत्साहित करने के लिए लगता है, लेकिन मूल्यों हमेशा 0 के बाद भी नई फ़ाइलें SD कार्ड पर धकेल दिया गया (एडीबी धक्का के माध्यम से) कर रहे हैं। मेरे पुराने डिवाइस (एस 2) पर यह एसडी कार्ड को रिमाउंट करता है।
मैं अपने AndroidManifest.xml के लिए निम्न अनुमतियाँ जोड़ दिया है, लेकिन यह उन अनुमतियों के बिना के रूप में ही व्यवहार करती है:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
कोई भी विचार/विकल्प?
संपादित करें 1:
ध्यान दें कि मैं नई या संशोधित या नष्ट कर दिया फ़ाइलों के किसी भी फ़ाइल पथ पता नहीं है। मैं सिर्फ यह सुनिश्चित करना चाहता हूं कि मीडियास्टोर अद्यतित है।
इस ([इस मुद्दे] से कोई लेना देना http://stackoverflow.com/questions/14346160/saving है: लेकिन यह अभी भी मंशा ACTION_MEDIA_SCANNER_SCAN_FILE उपयोग करने के लिए मीडिया की दुकान में एक फ़ाइल जोड़ने के लिए संभव है -फाइल-ऑन-बाहरी-स्टोरेज-ऑन-नेक्सस -7-और-पुनर्प्राप्ति-से-पीसी) समस्या? –
यह काफी संभव है। लिंक के लिए धन्यवाद। मैं यह देखने जा रहा हूं कि क्या मैं अन्य उपकरणों तक पहुंच प्राप्त कर सकता हूं यह देखने के लिए कि क्या यह केवल नेक्सस 4/7 है। –
मुझे [Mediascan ट्रिगर करने के लिए इस फ़ंक्शन का उपयोग करके नेक्सस 4 पर कोई समस्या नहीं है] (https://gist.github.com/danoz73/5061888) –