2008-10-23 19 views
16

से नए मीडिया का पता लगाने के लिए एंड्रॉइड एपीआई क्या डिवाइस पर लिखे जाने पर नए मीडिया का पता लगाने के लिए एंड्रॉइड एपीआई में कोई शानदार तरीका है? मैं मुख्य रूप से कैमरे द्वारा ली गई तस्वीरों, कैमरे द्वारा लिया गया वीडियो और माइक्रो से रिकॉर्ड किए गए ऑडियो में रूचि रखता हूं।एंड्रॉइड एपीआई इनबिल्ट कैमरा और माइक्रो

मेरी वर्तमान सोच समय-समय पर प्रत्येक मीडिया सामग्री प्रदाता को स्कैन करना और अंतिम स्कैन समय के आधार पर फ़िल्टर करना है।

मैं सोच रहा हूं कि कुछ सेवा है जो मैं रीयलटाइम नोटिफिकेशन प्राप्त करने के लिए हुक कर सकता हूं।

+0

समान पोस्ट देखें: http://stackoverflow.com/questions/6639001/android-how-does-google-instant-upload-work –

उत्तर

3

आह!

content observer मुझे क्या चाहिए!

Here's where i found out about it

+0

आप साझा कर सकते हैं कि कैसे आप मीडिया में परिवर्तन के लिए देखने के लिए एक सामग्री पर्यवेक्षक इस्तेमाल किया? –

10

वहाँ विशेष प्रसारण आशय है कि हर बार एक आवेदन बुलाया जाना चाहिए है कुछ भी नया लिखते मीडिया स्टोर करने के लिए:

Intent.ACTION_MEDIA_SCANNER_SCAN_FILE 

प्रसारण आशय नई फ़ाइल का पथ भी शामिल है, के माध्यम से सुलभ Intent.getDataString() विधि।

सिर्फ एक BroadcastReceiver बना सकते हैं और रजिस्टर यह एक IntentFilter का उपयोग कर के रूप में नीचे दिखाया गया है इसके लिए सुनने के लिए,:

registerReceiver(new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     String newFileURL = intent.getDataString(); 
     // TODO React to new Media here. 
    }  
    }, new IntentFilter(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE)); 

यह केवल फाइलों मीडिया स्टोर सामग्री प्रदाताओं में से एक में डाला जा रहा के लिए काम करेंगे। साथ ही, यह उस एप्लिकेशन पर निर्भर करता है जो उस उद्देश्य को प्रसारित कर रहा है, जो सभी मूल (Google) एप्लिकेशन करता है।

+3

यह मेरे लिए काम नहीं करता - गैलेक्सी नेक्सस। उपरोक्त कोड का प्रयास किया और यहां तक ​​कि एक्सएमएल (रिसीवर) प्रकट करें –

+1

नेक्सस 5 लॉलीपॉप पर काम नहीं कर रहा है –

संबंधित मुद्दे