2010-02-04 13 views
18

मैं एडीबी का उपयोग कैसे मेरे Android फ़ोन पर कुछ स्वचालित कार्य करने के लिए है पर कार्य करने के लिए आदेश? मुझे आदेशों को खोजने की ज़रूरत है जिन्हें मैं कमांड लाइन से जारी कर सकता हूं (आदर्श रूप से, एक .bat फ़ाइल का उपयोग करके) जो केवल एक एप्लिकेशन खोलने या इनपुट कीवेंट (बटन प्रेस) भेजने से अधिक सक्षम हो जाएगा।Adb खोल सेटिंग में बदलाव या एक फोन

उदाहरण के लिए, मैं चालू या बंद कमांड लाइन से हवाई जहाज मोड को चालू करना चाहते हैं। वर्तमान में, सबसे अच्छा मैं कर सकता हूँ वायरलेस & नेटवर्क सेटिंग मेनू लॉन्च और फिर इनपुट keyevents का उपयोग हवाई जहाज मोड क्लिक करने के लिए है:

adb shell am start -a android.settings.AIRPLANE_MODE_SETTINGS 
adb shell input keyevent 19 & adb shell input keyevent 23 

इस विधि के लिए काफी कुछ कमियां मुख्य रूप से स्क्रीन पर हो गया है रहे हैं, और अनलॉक। साथ ही, जो कार्य मैं करना चाहता हूं वह इस सरल उदाहरण से काफी व्यापक है।

1.Play एक एमपी 3 और दोहराने पर सेट: अन्य चीजें मैं यदि संभव हो तो क्या करना चाहते हैं। वर्तमान समाधान:

adb shell am start -n com.android.music/.MusicBrowserActivity 
adb shell input keyevent 84 
adb shell input keyevent 56 & adb shell input keyevent 66 & adb shell input keyevent 67 & adb shell input keyevent 19 
adb shell input keyevent 23 & adb shell input keyevent 21 
adb shell input keyevent 19 & adb shell input keyevent 19 & adb shell input keyevent 19 & adb shell input keyevent 22 & adb shell input keyevent 22 & adb shell input keyevent 23 & adb shell input keyevent 23 

2. एक वीडियो चलाएं।

3.Change मात्रा: (वर्तमान समाधान खुला MediaGallery, keyevents, ऊपर के समान भेज) (वर्तमान समाधान: मात्रा-ऊपर बटन keyevents भेज)

4.Change प्रदर्शन समय समाप्ति (वर्तमान समाधान: खुले ध्वनि & प्रदर्शन सेटिंग्स, जैसा कि पहले keyevents भेज)

, इन सभी स्क्रीन चालू है और अनलॉक होने की आवश्यकता होती है। Keyevents का उपयोग करने के लिए अन्य प्रमुख दोष यह है कि यदि एप्लिकेशन का यूआई बदल गया है, तो keyevents अब सही कार्य नहीं करेगा। यदि इस तरह की चीजों को करने का कोई आसान तरीका नहीं है, तो क्या यह बंद होने पर स्क्रीन को चालू करने के लिए कम से कम एक तरीका है (adb का उपयोग करके)? या स्क्रीन बंद होने पर अभी भी keyevents काम करने के लिए है?

मैं जावा साथ बहुत परिचित नहीं हूँ। यही कारण है, ने कहा कि मैं निम्नलिखित (स्रोत: http://yenliangl.blogspot.com/2009/12/toggle-airplane-mode.html) जैसे कोड देखा है फोन पर एक सेटिंग बदलने के लिए:

Settings.System.putInt(Settings.System.AIRPLANE_MODE_ON, 1 /* 1 or 0 */); 

मैं एक adb शेल कमांड में ऊपर की तरह कुछ का अनुवाद करते हैं? क्या यह संभव है, या इसके बारे में सोचने का गलत तरीका है?

यदि आवश्यक हो तो मैं अधिक जानकारी प्रदान कर सकता हूं। धन्यवाद!

उत्तर

0

जावा उदाहरण आप पता चलता है कि फोन पर ही चल रहा है एक कार्यक्रम के लिए है। आप उस फोन पर किसी प्रकार का दुभाषिया प्रोग्राम करने में सक्षम हो सकते हैं जो एडीबी कमांड को संभालता है। इस तरह आप keyevents पर अब निर्भर नहीं हैं। हालांकि, यह मामूली उपक्रम नहीं है।

3

मैं मुद्दों के एक ही सेट पर काम कर रहा हूं। (मैंने मुख्य रूप से कीवेन्ट होम और फिर मेन्यू का उपयोग करके सीधे बटन प्रेस के साथ संदर्भ समस्या हल की, लेकिन - किसी भी तरह - यहां तक ​​कि अविश्वसनीय भी।) मैं वर्तमान में SL4A (एंड्रॉइड के लिए स्क्रिप्टिंग लेयर) की जांच कर रहा हूं, जिसमें वादा किया गया है। यह पर्ल, पायथन, लुआ और अन्य स्क्रिप्टिंग भाषाओं को डिवाइस पर एसएल 4 ए सर्वर शुरू करने के बाद आपके पीसी से एंड्रॉइड एपीआई के साथ बातचीत करने की अनुमति देता है - जिसे पीसी से भी किया जा सकता है। मुझे एक उत्कृष्ट संसाधन होने के लिए "Pro Android Python with SL4A" मिल रहा है; अगर मैंने उस पुस्तक

-2

MonkeyRunner के साथ शुरू किया था, तो भी मुझे लगता है कि यह अभी तक अपनी सीमाओं को खोजने के लिए पर्याप्त गहराई से खोला नहीं गया है, लेकिन मैंने वेब पर परीक्षण-और-त्रुटि और वेब पर शिकार किया होगा।

Android ScreenCast आपको अपने पीसी से अपने डिवाइस की स्क्रीन को देखने और नियंत्रित करने देता है, जिसमें स्वचालन की संभावना भी होती है। हालांकि, उस एप्लिकेशन के लिए इसमें कुछ तर्कसंगत मुद्दे मौजूद हैं।

वैसे, आप लॉन्च होमस्क्रीन को मेन्यू कीवेन्ट और प्रेषक के सेट (कीवर्ड्स के स्थान पर) से पहले प्राप्त कर सकते हैं।

15

हालांकि सवाल पुराना है, यह किसी और की मदद कर सकता है।

वीडियो प्लेबैक के लिए, आप यह कोशिश कर सकते हैं:

adb shell am start -a android.intent.action.VIEW -d "file:///mnt/sdcard/DCIM/Camera/test.3gp" -t "video/*" 

^आप सभी सक्षम खिलाड़ियों कि इस फाइल खेल सकते हैं की एक त्वरित देता है।

adb shell am start -a android.intent.action.VIEW -d "file:///mnt/sdcard/DCIM/Camera/test.3gp" -t "video/*" -n "com.alensw.PicFolder/.PlayerActivity" 

^स्विच-एन द्वारा निर्दिष्ट प्लेयर में नाटकों।

+0

अच्छा एक .. अच्छी जानकारी के लिए धन्यवाद – Naresh

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