2011-11-11 7 views
5

में प्लग की गई यूएसबी फ्लैश ड्राइव का पता लगाएं क्या एक यूएसबी फ्लैश ड्राइव को एंड्रॉइड डिवाइस में प्लग करने पर पता लगाने का कोई तरीका है? मैं एक प्रसारण रिसीवर का उपयोग कर एक एसडी कार्ड का पता लगाने में सक्षम हूं, लेकिन यह यूएसबी के लिए काम नहीं करता है। मैं मतदान से बचना चाहता हूं।एंड्रॉइड:

कोड रिसीवर रजिस्टर करने के लिए:

private void RegisterUpdateReceiver() 
{ 
    IntentFilter intentFilter = new IntentFilter(); 
    intentFilter.addAction("android.intent.action.MEDIA_MOUNTED"); 
    intentFilter.addDataScheme("file"); 
    myReceiver = new MyReceiver(); 
    this.registerReceiver(myReceiver, intentFilter); 
} 

रिसीवर कोड:

public class MyReceiver extends BroadcastReceiver 
{ 
    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
     String action = intent.getAction(); 
     if (action.equals("android.intent.action.MEDIA_MOUNTED")) 
     { 
      // react to event 
     } 
} 

उत्तर

2

एंड्रॉयड, एसडीके स्तर पर, यूएसबी ड्राइव की धारणा नहीं है। वहां कोई नियम नहीं है कि उन्हें कहां रखा जाना चाहिए, जब वे प्रकट होते हैं/गायब हो जाते हैं, तो प्रसारण। आदि। इस क्षेत्र में कुछ मानकीकरण भविष्य में एंड्रॉइड रिलीज में आएगा, लेकिन आज ऐसा नहीं है।

+0

लॉगकैट यूएसबी माउंट से संबंधित कुछ घटनाओं को दिखाता है, लेकिन मैं इसे एसडीके स्तर पर नहीं ढूंढ सकता। लगता है कि आप जो कह रहे हैं वह सही है। डब्ल्यू/माउंट सेवा (931): getVolumeState (/ mnt/usbdisk): अज्ञात वॉल्यूम ई/वोल्डकनेक्टर (931): '605 वॉल्यूम usbdisk/mnt/usbdisk स्थिति को संभालने में त्रुटि 3 (चेकिंग) से 4 (घुड़सवार)' – Ravi

+0

कोई भी बदल गई भाग्य, मैं ACTION_MEDIA_REMOVED और अन्य रिसीवर से संबंधित यूएसबी माउंट और अनमाउंट का भी उपयोग करता हूं ... लेकिन कुछ भी काम नहीं कर रहा है .. लेकिन कमांड प्रॉम्प्ट में यह यूएसबी लॉग दिखा रहा है? – CoDe

+1

@ शुभ: एंड्रॉइड 4.2 के रूप में लिखा गया उत्तर अभी भी सटीक है। – CommonsWare

2

यदि यूएसबी को जोड़ने और अलग करने का पता लगाना है तो "android.hardware.usb.action.USB_DEVICE_ATTACHED" का उपयोग किया जा सकता है। सुनिश्चित करें कि रिसीवर और इरादा फ़िल्टर की परिभाषा भी मैनिफेस्ट में जोड़ दी गई है।