2012-12-30 16 views
5

मैं यूएसबी (पुराने कार्यक्रम) से स्ट्रिंग इनपुट में लेने के पीसी पर एक कार्यक्रम मैं एक एंड्रॉयड (4.x) गोली जो पीसी पर चल रहे कार्यक्रम के लिए USB पर स्ट्रिंग इनपुट प्रदान करने की जरूरत है है । जब मैंने एंड्रॉइड पर नमूना कोड का उपयोग किया, तो कोड खाली हैशपैप देता है। पीसी (32 बिट एक्सपी और 64 बिट विंडोज 7 पर कोशिश की गई) में एंड्रॉइड ड्राइवर है।एंड्रॉयड पीसी यूएसबी पढ़ें/लिखें

mManager = (UsbManager)getSystemService(Context.USB_SERVICE); 
    HashMap<String, UsbDevice> devices = mManager.getDeviceList(); 

यूएसबी पर पीसी से बात करने वाला कोई वास्तविक कामकाजी कोड उदाहरण मदद करेगा, pl। पीसी से बात करने के लिए एंड्रॉइड पर किसी भी ड्राइवर इत्यादि की आवश्यकता है, यह भी इंगित करें।

मैं दोनों गौण मोड और मेजबान मोड (सिर्फ मामले में)

उत्तर

8

मुझे यकीन है कि मैं बिल्कुल पालन तुम यहाँ क्या कर रहे हैं नहीं कर रहा हूँ, लेकिन अगर मैं आप सही ढंग से समझ की कोशिश की है - यह सिर्फ जीता ' इस तरह से काम नहीं करते हैं। UsbManager.getDeviceList() यूएसबी मेजबान पोर्ट के साथ Android उपकरणों, जो करने के लिए कुछ यूएसबी उपकरणों जुड़े हुए हैं साथ प्रयोग किया जा करने के लिए है। लेकिन, जहां तक ​​मैं समझता हूँ, आप Android गोली एक मेजबान (मैं ऐसा लगता, क्योंकि आप चालक स्थापना के बारे में लिखा था) के रूप में अपने पीसी अभिनय करने के लिए एक डिवाइस के रूप में अभिनय कनेक्ट।

आप एंड्रॉयड यूएसबी डिवाइस और कुछ यूएसबी के बीच संवाद चाहते हैं मेजबान (जैसे अपने Android डिवाइस कोई USB होस्ट क्षमता है क्योंकि), तो आपको गौण मोड का उपयोग करने के लिए (मैं सुझाव है कि आप this Android Developers Blog post के साथ शुरू) की जरूरत है। लेकिन इस मोड को यूएसबी होस्ट साइड पर विशेष समर्थन की आवश्यकता है (इसे Android Open Accessory Protocol के साथ डिवाइस से बात करनी चाहिए)। नोट, कि getDeviceList() एक्सेसरी मोड में कोई समझ नहीं आता है - सबसे पहले, कनेक्टेड एक्सेसरीज़ यूएसबी होस्ट नहीं है, यूएसबी डिवाइस नहीं है, और यूएसबी बस पर केवल एक यूएसबी होस्ट हो सकता है।

आप गौण मोड का उपयोग कर पीसी के साथ बातचीत करना चाहते हैं, तो आप पीसी के लिए इस AOAP implementation की कोशिश करना चाहते हो सकता है। अगर आपको कुछ डिबगिंग जरूरतों के लिए एंड्रॉइड डिवाइस से बात करना है, तो आप इसके बजाय ADB port forwarding और टीसीपी कनेक्शन का उपयोग करना चाह सकते हैं।

+0

हाय कोड चित्रकारों, Thanx जवाब के लिए, आप कर रहे हैं ठीक है, यह वास्तव में UsbManager.getAccessoryList() कॉल है, लेकिन है कि अशक्त रिटर्न; – Sawant

+0

हाय @ कोड पेंटर्स, उत्तर के लिए थैंक्स, माई मेनिफेस्ट एक्सेसरी मोड में स्थापित है। प्रलेखन का पालन करें .आप सही हैं, यह UsbManager.getAccessoryList() कॉल है लेकिन यह नल भी लौटाता है। मैं एंड्रॉइड 4.0.3 पर काम कर रहा हूं इसलिए मैं एपीआई स्तर 15 पर एंड्रॉइड.hardware.usb.accessory का उपयोग कर रहा हूं। यूएसबी डीबगिंग मोड सक्षम के साथ एक coby kyros के साथ tcp/ip पर डीबगिंग, लेकिन यह किसी भी सहायक उपकरण (यानी) विंडोज होस्ट लैपटॉप को यूएसबी केबल के माध्यम से एंड्रॉइड कोबी से कनेक्ट नहीं करता है। मैंने यूएसबी डीबग के मोड के साथ डीबग के बिना ऐप को चलाने की कोशिश की, अभी भी शून्य लौट रहा है। – Sawant

+0

विंडोज लैपटॉप को एक्सेसरी के रूप में पहचाने जाने के लिए, आपको उस पर चल रहे एक्सेसरी प्रोटोकॉल के कुछ कार्यान्वयन की आवश्यकता है, मेरे उत्तर में लिंक देखें। –

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