2011-12-13 9 views
9

मैं अपने अनुप्रयोगों के लिए कुछ एंड्रॉइड टेस्ट ऑटोमेशन लिख रहा हूं, जो 18 भाषाओं में स्थानीयकृत हैं।एंड्रॉइड डिवाइस पर प्रोग्रामेटिक रूप से स्विच करें

मुझे प्रोग्राम पर प्रोग्राम को स्विच करने की क्षमता की आवश्यकता है - मेरा मतलब सिर्फ एप्लिकेशन की भाषा को स्विच करने का नहीं है - मेरा मतलब है कि एंड्रॉइड सेटिंग्स में वास्तविक डिवाइस भाषा स्विच करें, इस तरह हमारा एप्लिकेशन भी स्विच करता है।

क्या कोई तरीका है कि मैं इसे बंदररुनर, एंड्रॉइड डीबग ब्रिज या अन्यथा के माध्यम से पूरा कर सकता हूं? आदर्श रूप में मैं एक ऐसा तरीका चाहता हूं जो एंड्रॉइड एमुलेटर और एक भौतिक डिवाइस दोनों पर काम करता हो।

धन्यवाद।

उत्तर

4

अंत में पता लगा आप Android Debug Bridge जो मैं सिर्फ अपने परीक्षण मशीन पर स्थापित और खिड़कियों पथ चर में शामिल किया है के माध्यम से यह कर सकते हैं।

उदाहरण के लिए, आदेश स्विच करने के लिए जर्मन के लिए डिवाइस भाषा होगा:

adb shell "su -c 'setprop persist.sys.language de; setprop persist.sys.country de; stop; sleep 5; start' 

आप इस काम करने के लिए क्रम में एक निहित डिवाइस की आवश्यकता होगी।

1

आप इस तरह स्थानीय बदल सकते हैं:

Resources res = context.getResources(); 
    // Change locale settings in the app. 
    DisplayMetrics dm = res.getDisplayMetrics(); 
    android.content.res.Configuration conf = res.getConfiguration(); 
    conf.locale = new Locale(language_code.toLowerCase()); 
    res.updateConfiguration(conf, dm); 
+3

क्या यह सेटिंग मोबाइल एप्लिकेशन कोड से लोकेल है? यदि ऐसा है, तो मुझे नहीं लगता कि आप मेरे प्रश्न को सही तरीके से पढ़ते हैं - मुझे अपने मोबाइल एप्लिकेशन कोड से स्वतंत्र स्वचालन एप्लिकेशन से डिवाइस भाषा स्विच करने की आवश्यकता है। –

0

आप एक स्क्रिप्ट लिख सकते हैं, जो adb send broadcast जैसे एक सहायक ऐप पर प्रसारण भेजता है और यह ऐप डिवाइस कॉन्फ़िगरेशन जैसे डिवाइस के अंदर आपकी कॉन्फ़िगरेशन बदलता है जहां आप @ISun के उस कोड का उपयोग कर सकते हैं।

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