2017-01-06 14 views
26

आमतौर पर, एंड्रॉइड डिवाइस को पावर करने के लिए, आप इसे पावर बटन के माध्यम से करते हैं।एंड्रॉइड चीजों को बंद करना

आप adb shell और reboot -p भी कर सकते हैं।

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

+0

अच्छा प्रश्न के लिए संक्षिप्त रूप है। प्रलेखन में कुछ भी नहीं, "एम्बेडेड"/आईओटी ओएस को हालांकि बिजली की अचानक कमी की कमी होनी चाहिए। –

+0

मुझे उम्मीद है कि एंड्रॉइड चीजें इस तरह से डिज़ाइन की जाएंगी कि बिजली को अनप्लग करना ठीक है।मैंने अपने देव किट के साथ कुछ बार ऐसा किया है और यह एक समस्या नहीं प्रतीत होता है – shalafi

+0

@ शालाफी मुझे उम्मीद है। मैंने विकास के दौरान पीआई पर लिनक्स के साथ यह कई बार किया है, लेकिन मैंने उत्पादन के लिए केवल पढ़ने के लिए एसडी कार्ड बनाया है जहां ग्राहक यह संभावना चाहता था – Boy

उत्तर

18

एंड्रॉइड (और विस्तार से, एंड्रॉइड चीजें) को बिजली की अचानक हानि के साथ कोई समस्या नहीं होनी चाहिए। कोर ऑपरेटिंग सिस्टम को फाइल सिस्टम पर केवल-पढ़ने वाले विभाजनों में रखा गया है, इसलिए ओएस को भ्रष्ट इन-फ्लाइट लिखने से भ्रष्ट करने का कोई खतरा नहीं है।

इसके अलावा, reboot -p अभी भी काम करना चाहिए यदि आप परीक्षण या विकास में इसका उपयोग करना चाहते हैं। इसके साथ आगे जाकर, आप Gpio को InputDriver से कनेक्ट कर सकते हैं जो KEYCODE_POWER को सिस्टम पर वापस अपने स्वयं के पावर बटन को जोड़ने के लिए उत्सर्जित करता है यदि आपको लगा कि आपको इसकी आवश्यकता है।

+0

धन्यवाद, मुझे लगता है कि मैं इस तरह से जाऊंगा। मुझे इसे दूरस्थ रूप से करने की ज़रूरत है, शायद एक वेबस्केट का उपयोग करना और एक विशिष्ट कमांड पर शट डाउन करना। मुझे लगता है कि बिजली को अनप्लग करना भी ठीक होना चाहिए क्योंकि यह केवल पढ़ा जाता है। जब तक मैं ऐप को इसकी फाइलों में कुछ लिखने नहीं देता, तब तक – Boy

+1

अचानक अचानक हानि शक्ति का सामना करना पड़ रहा है, और परिणामस्वरूप एसडीकार्ड दूषित हो रहा है। इसे उबंटू में प्लग करें, एसडीकार्ड का पता नहीं लगा सकता है। मेरे एंड्रॉइड फोन में प्लग करें, यह एसडीकार्ड का पता लगाता है, और चेतावनी दिखाता है कि एसडीकार्ड को स्वरूपित करने की आवश्यकता है। एंड्रॉइड फोन से प्रारूप, यूबंटू में प्लग करें, फिर से पता नहीं लगाएगा। विंडोज़ में प्लग करें, इसे पहचानें, फिर इसे विंडोज से प्रारूपित करें। शुक्र है, फिर से काम करता है। तो सावधान रहें। – adadion

+0

@Devunwired इस समय KEYCODE_POWER डिस्प्ले और टचस्क्रीन के बिना उपकरणों के लिए विशेष रूप से उपयोगी नहीं है। KEYCODE_POWER पर एक छोटी प्रेस स्क्रीन को बंद कर देती है क्योंकि यह डिवाइस को नींद मोड में डालने का प्रयास करती है, और एक लंबी प्रेस एक ऑनस्क्रीन मेनू प्रदर्शित करती है जो "पावर ऑफ" और "पुनरारंभ" के विकल्प प्रदान करती है जिसे क्लिक किया जाना चाहिए। –

15

मैं डेव के जवाब की तरह, सिर्फ दो बातें जोड़ना चाहते थे:, यहाँ पर चर्चा की

आप Android हालात डिवाइस प्रोग्राम के तरीके का एक संख्या को बंद कर दिया जा सकता था, लेकिन हर एक चेतावनी इसे से जुड़े होते हैं: Turn off device programmatically

एक AndroidThings डिवाइस पावर बंद करने के लिए की तरह आप ने कहा आप एडीबी के माध्यम से यह कर सकते हैं:

adb shell reboot -p 

(-p--poweroff के लिए कम है)

+0

मुझे इसे दूरस्थ रूप से बंद करने की आवश्यकता है, डिवाइस हेडलेस चलाता है। मैं नहीं चाहता कि एक ग्राहक को 'adb shell reboot -p' करने की ज़रूरत है :) लेकिन आपके द्वारा प्रदान किया गया लिंक मुझे विभिन्न विकल्प देता है, धन्यवाद! – Boy

+0

आप अपने ऐप को सूचित करने के लिए फायरबेस क्लाउड मैसेजिंग का उपयोग कर सकते हैं, फिर प्रोग्रामेटिक विकल्पों में से एक करें। हाँ आप एडीबी के बारे में सही हैं :-) – Blundell

+0

यह डिवाइस मेरे उपयोग के मामले में इंटरनेट से कनेक्ट नहीं होगा, लेकिन यह किसी अन्य उपयोग के मामले के लिए एक अच्छा विकल्प है जिसे मैं सोच रहा हूं ... – Boy

9

... और प्रोग्राम के रूप में

के लिए

Runtime.getRuntime().exec("reboot -p"); 

और रिबूट करने का पावर बंद

Runtime.getRuntime().exec("reboot"); 

Explanation: reboot बाइनरी के साथ Android के हालात छवि में भेज दिया जाता है विश्व-निष्पादन ई अनुमति, यानी rwxr-xr-x, जो किसी भी ऐप प्रक्रिया के भीतर से निष्पादन योग्य हो सकता है। दूसरे शब्दों में, एक ऐप प्रक्रिया को अधिकांश स्टॉक एंड्रॉइड फोन/टैबलेट के विपरीत su प्राप्त करने की आवश्यकता नहीं है, इसलिए AndroidManifest.xml में कोई अतिरिक्त अनुमति नहीं है।

0

अपने डिवाइस एडीबी के माध्यम से जुड़ा हुआ है, सिर्फ निम्न आदेश

adb shell reboot -p 

-p दर्ज --poweroff

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