Settings.Secure कक्षा में एक प्राथमिकता है कि एसडीके से छिपा हुआ है नहीं है:
/**
* The preferred network mode 7 = Global
* 6 = EvDo only
* 5 = CDMA w/o EvDo
* 4 = CDMA/EvDo auto
* 3 = GSM/WCDMA auto
* 2 = WCDMA only
* 1 = GSM only
* 0 = GSM/WCDMA preferred
* @hide
*/
public static final String PREFERRED_NETWORK_MODE =
"preferred_network_mode";
आप इस पर प्रतिबिंब इस्तेमाल कर सकते हैं या सिर्फ अपनी परियोजना के लिए निरंतर स्थानीय बनाना। इस के साथ समस्या यह है कि यदि आप इस सेटिंग का मान नहीं बदल सकते हैं (सभी सुरक्षित सेटिंग्स के साथ के रूप में), आप केवल इसे पढ़ सकते हैं। उपर्युक्त मूल्य केवल एकमात्र संभावित नहीं हैं, वास्तव में com.android.internal.telephony.RILConstants में कुछ और स्थित हैं, जो फिर से एसडीके से छिपा हुआ है और प्रतिबिंब के लिए प्रतिबिंब की आवश्यकता होगी।
वहाँ TelephonyManager में एक और छिपा तरीका है, लेकिन फिर इसे पढ़ा है केवल इस निरंतर स्थापित करने के लिए कोई अन्य तरीका है। यह आपको बता होगा कि वास्तव में क्या आप को पता है, डिवाइस के लिए "LTE/CDMA" (LTE_ON_CDMA_TRUE) सेट कर दिया जाता है या "केवल सीडीएमए" चाहते हैं (LTE_ON_CDMA_FALSE):
/**
* Return if the current radio is LTE on CDMA. This
* is a tri-state return value as for a period of time
* the mode may be unknown.
*
* @return {@link Phone#LTE_ON_CDMA_UNKNOWN}, {@link Phone#LTE_ON_CDMA_FALSE}
* or {@link Phone#LTE_ON_CDMA_TRUE}
*
* @hide
*/
public int getLteOnCdmaMode() {
try {
return getITelephony().getLteOnCdmaMode();
} catch (RemoteException ex) {
// Assume no ICC card if remote exception which shouldn't happen
return Phone.LTE_ON_CDMA_UNKNOWN;
} catch (NullPointerException ex) {
// This could happen before phone restarts due to crashing
return Phone.LTE_ON_CDMA_UNKNOWN;
}
}
अपना शोध से
आप एक ऐसी नहीं कर सके रूट पहुँच बिना आवेदन और setprop
कमांड लाइन से की तरह कुछ का उपयोग कर, लेकिन फिर भी आप इस सेटिंग को प्रभावी करने के लिए आदेश में पूरे टेलीफोनी प्रक्रिया पुनः आरंभ करने की आवश्यकता हो सकती।
अंत में, यदि आप अभी भी रुचि रखते हैं com.android.phone.Settings यह देखने के लिए कि सिस्टम इस टॉगल को कैसे संभालता है। यह काफी विस्तृत है, और जैसा कि मैंने उल्लेख किया है कि अनुमतियों की आवश्यकता होगी कि एक सामान्य एंड्रॉइड एप्लिकेशन नहीं दिया जाएगा।
AFAIK, साधारण Android SDK अनुप्रयोगों में नहीं बदल सकते। – CommonsWare
आह, बहुत दिलचस्प है। मुझे आशा है कि यह मामला नहीं है। अब शोध मैंने सुना है कि एचटीसी फोन के लिए एक विजेट मौजूद है, जो मुझे विश्वास दिलाता है * * किया जा सकता है। –
यदि एचटीसी फोन के साथ सवाल जहाज में ऐप विजेट है, तो यह सामान्य एंड्रॉइड एसडीके एप्लीकेशन नहीं है। – CommonsWare