2011-11-05 15 views
9

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

+0

मेरे कोड पर एक नज़र डालें जिसके द्वारा मैं एसएमएस भेजने के लिए किस सिम का उपयोग करने में सक्षम हूं: http: //stackoverflow.com/a/30677542/2267723 .. मुझे आशा है कि –

+0

मदद मिलेगी एंड्रॉइड 5 और पुराने के लिए पूर्ण समाधान http://stackoverflow.com/questions/27351936/how-to-send-a-sms-using-smsmanager-in-dual-sim-mobile/30677542#30677542 –

उत्तर

0

आधिकारिक तौर पर अभी इसका समर्थन करने के लिए कोई एपीआई नहीं है, आपको डिवाइस निर्माता से संपर्क करना होगा।

+0

प्रतिक्रिया @Reno के लिए धन्यवाद। मैं अभी भी उम्मीद कर रहा हूं कि क्या इसमें कोई बदलाव है। – bhadz

3

मुझे लगता है कि आप संबंधित "सेवा प्रबंधक", "टेलीफ़ोनी प्रबंधक", कुछ इंटरफ़ेस स्टब, या कुछ प्रमुख शब्द जैसे "मिथुन" "फिर आप जावा प्रतिबिंब का उपयोग कर सकते हैं, इस वर्ग की सभी विधियों को प्रतिबिंबित करता है। फिर आप इस लक्ष्य को प्राप्त कर सकते हैं।

+0

क्या आप अधिक जानकारी दे सकते हैं? @shanwu – gumuruh

+0

@gumuruh आप उन ऐप्स को dex2jar के साथ डिकंपाइल करने के बाद, TelephonyMgr.java नामक कुछ क्लास को खोजने का प्रयास करें, आपको एंड्रॉइड स्रोत कोड ~ – shanwu

+0

की तुलना करने के बाद कुछ दिलचस्प खोजना चाहिए: http://stackoverflow.com/questions/ 14517338/एंड्रॉइड-चेक-चाहे-द-फोन-is-dual-sim/17499889 # 17499889 –

0

मान लें कि आप अपने फोन के लिए ऐप विकसित कर रहे हैं, और आप अपने प्रत्येक सिम कार्ड को सौंपा गया आईडी (sim_id) ढूंढने की परेशानी से गुज़रने के इच्छुक हैं (शायद फोन के लॉग आउटपुट की जांच करके, खोज sim_id, जो मैं क्या किया था) के लिए, आप निम्न कोड डिफ़ॉल्ट SIM स्थापित करने के लिए एसएमएस के लिए भेजने का उपयोग कर सकते हैं:

int simId = <place desired SIM ID here>; 
Intent simIntent = new Intent("android.intent.action.SMS_DEFAULT_SIM"); 
simIntent.putExtra("simid", simId); 
sendBroadcast(simIntent); 

कुछ अन्य यूआई शीघ्र सामान के साथ संयुक्त (वास्तव में 'उठा' पसंदीदा सिम) के लिए, यह काम कर जाना चाहिए।

मुझे पूरा यकीन नहीं है कि यह दृष्टिकोण आपके लिए काम करेगा (हालांकि कोड काफी 'मानक' लगता है); मैंने इसे अपने मैलास एमएक्स 28 (एक अनुकूलित रोम के साथ) पर परीक्षण और त्रुटि के साथ समझ लिया। लेकिन यह अभी भी एक शॉट के लायक है, मुझे लगता है। :)

अद्यतन: आश्चर्यजनक रूप से, समाधान जिस ऐप पर काम कर रहा था उसके कुछ अपडेट के बाद अप्रत्याशित रूप से काम करना बंद कर दिया। लेकिन मैं एक और तरीके से आया (जो अधिक आशाजनक प्रतीत होता है)। (मेरा मानना ​​है कि यह है, साथ ही अन्य सिम चयन परिदृश्यों के लिए बढ़ाया जा सकता है के रूप में सेटिंग्स कैश name रों gprs_connection_sim_setting, voice_call_sim_setting, video_call_sim_setting और पसंद के साथ प्रविष्टियां नहीं हैं।)

ContentValues val = new ContentValues(); 
val.put("value", "here goes the preferred SIM ID"); 
getContentResolver().update(Uri.parse("content://settings/system"), val, "name='sms_sim_setting'", null); 

(दुर्भाग्य से, इस android.permission.WRITE_SETTINGS अनुमति की आवश्यकता है।)

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