2012-07-04 31 views
32

में BOOT_COMPLETED प्रसारण रिसीवर का परीक्षण कैसे करें emulator में के साथ BROADCAST RECEIVER जांचना चाहता हूं।एमुलेटर

क्या प्रसारणकर्ता रिसीवर को एमुलेटर में जांचने का कोई तरीका है? मैं रिसीवर को जांचने के लिए एमुलेटर कैसे पुनरारंभ कर सकता हूं? क्या कोई प्रत्यक्ष आदेश है?

अग्रिम धन्यवाद।

उत्तर

48

एम्यूलेटर में कोई पावर बटन डिवाइस है की तरह नहीं है, तो

एक एमुलेटर उदाहरण रोकने के लिए, बस एमुलेटर के विंडो बंद करें।

और Start/Restart करने के लिए यह ग्रहण की AVD प्रबंधक से शुरू और BOOT_COMPLETE कार्रवाई के साथ आपका BroadcastReceiver के लिए कहा जाता हो जाएगा यकीन है कि

आप AVD भी एक और तरीका है शुरू कर सकते हैं, CMDसे AndroidSDK के उपकरण के लिए जाना और इस commmand E:\android-sdk-windows\tools>emulator -avd AVDNAMEHERE

के अध्यक्ष एवं प्रबंध निदेशक से प्रसारण भेजें आप इस आदेश का उपयोग कर सकते हैं।

adb शेल बजे प्रसारण -एक android.intent.action.BOOT_COMPLETED -c android.intent.category.HOME -n PACKAGE_NAME/CLASS_NAME


एंड्रॉयड एम्यूलेटर के बारे में और अधिक पढ़ें: Android Emulator और Using Emulator

+7

'' 'android.intent.action.BOOT_COMPLETED''' -एक adb शेल बजे प्रसारण एक डिवाइस रिबूट के लिए पूरी तरह से पर्याप्त है। – drindt

+8

दुर्भाग्य से, उस प्रसारण को भेजने से मेरे नेक्सस 5 को * वास्तव में * उस संदेश को प्रसारित करने के बजाय रीबूट का कारण बनता है। नतीजतन, डीबगर डिस्कनेक्ट हो गया है।/इस तरह प्रसारण भेजने विलाप करना चाहिए एक आसान से उपयोग ढंग से देव के लिए सुलभ :-(:-( –

+2

यह अतिरिक्त आदेशों – trippedout

1

एमुलेटर सिर्फ अपने कमांड लाइन खोलने के लिए और जहाँ आपके एडीबी (यदि नहीं सिस्टम पथ में) है फ़ोल्डर में स्विच करें और प्रवेश को पुनः आरंभ करने के लिए:

adb restart 

(तो आप Strg साथ आदेश को निरस्त कर सकते हैं - सी cmd लाइन वापस पाने के लिए)

37

मूल रूप से यह आपके बूट एंड्रॉयड Emulater में, जबकि चल रहा है है पूरा अनुकरण करने के लिए क्या करना है है: यदि आप यह मानते हुए एक विंडोज User.The ही के लिए लागू होता है लिनक्स

कदम हैं: अपने कंसोल प्रकार पर

0,123,
  1. adb शेल

  2. बजे प्रसारण -एक android.intent.action.BOOT_COMPLETED

सभी लोगों है। विस्तृत चित्रण के लिए नीचे दिए गए आरेख देखें।

enter image description here

मुबारक कोडिंग! यदि BOOT_COMPLETED दो बार प्राप्त होता है

+3

बिना नेक्सस 6 रिबूट के साथ-साथ आप एक एक लाइनर चाहते हैं, यह 'है adb शेल सु - android.intent.action.BOOT_COMPLETED' –

+1

-एक ग बजे प्रसारण के बाद से इस सवाल का जवाब 'विंडोज OS' के लिए लाइन शामिल नहीं किया था, -एक android.intent.action.BOOT_COMPLETED' –

+0

होगा इस इस-' adb शेल बजे प्रसारण का उपयोग असली उपकरणों पर काम? – mehmet6parmak

23

कुछ एप्लिकेशन गलत व्यवहार कर, बजाय केवल अपने पैकेज के लिए प्रसारण की सीमा: आप जायके उपयोग कर रहे हैं

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -p com.example.package 
+5

एक अजीब मज़ा के लिए, मैंने बिना आदेश के प्रतिलिपि बनाई मेरा पैकेज नाम जोड़कर, उम्मीद है कि मैं कुछ ऐप्स "वास्तव में" गलत व्यवहार देख सकता हूं। यह लगभग हर दूसरे ऐप्स को मार डाला और कुछ हद तक देव को रिबूट किया बर्फ। इसके लायक ... :) –

+0

मेरे लिए -p विकल्प त्रुटियां और http://developer.android.com/tools/help/shell.html#IntentSpec इसका उल्लेख नहीं करता है? –

+1

सभी एंड्रॉइड संस्करण समर्थित नहीं हैं -p, आप कोशिश कर सकते हैं -n package_name/class_name – ejboy

1

, . घटक नाम शॉर्टकट अंकन के साथ सावधान रहना।

उदाहरण

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n com.companyname.develop/com.companyname.notification.RescheduleLocalNotificationsAtBootReceiver