2010-08-12 32 views
11

मैं अपने नंबर पर सभी कॉल को नए पूर्वनिर्धारित संख्या पर स्वचालित रूप से अग्रेषित करना चाहता हूं। क्या इनकमिंग कॉल अग्रेषित करना संभव है?कॉल अग्रेषण

संभवतः कम से कम Froyo के लिए यह संभव है। मुझे आसान कॉल फॉरवर्डिंग नामक एप्लिकेशन मिला। http://www.appstorehq.com/easycallforwarding-android-189596/app लेकिन कई लोग मानते हैं कि यह वास्तव में काम नहीं करता है।

हम PhoneStateListener से पर अग्रेषित कॉल देख सकते हैं, मुझे नहीं पता कि अग्रेषण मोड कैसे सेट करें।

+0

श्री Bogus: क्या आप एक कॉल अग्रेषित करने में सफल रहे हैं? श्री बिल_the_लिज़र: मुझे उम्मीद है कि यह संभव है, क्या मैं सही हूँ? –

उत्तर

3

मेरे समाधान:

Intent intent = new Intent(Intent.ACTION_CALL); 
String prefix = "#31#";   
prefix = Uri.encode(prefix); 
intent.setData(Uri.parse("tel:"+prefix+"123456")); 
startActivity(intent); 
8

मैं नेट पर पता लगाया और कैसे एक एक फोन प्रोग्राम के रूप में अग्रेषित कर सकते हैं कि मेरे सवाल का जवाब मिल गया। कोड की इन पंक्तियों को जोड़ें और एक इसे प्राप्त करने में सक्षम होगा।

String callForwardString = "**21*1234567890#";  
Intent intentCallForward = new Intent(Intent.ACTION_DIAL); // ACTION_CALL        
Uri uri2 = Uri.fromParts("tel", callForwardString, "#"); 
intentCallForward.setData(uri2);         
startActivity(intentCallForward); 

यहां 1234567890 फोन नंबर का प्रतिनिधित्व करता है। जैसा कि आप यहां चाहते हैं, अनुमोदित फोन नंबर जोड़ें। सेवा को निष्क्रिय करने के लिए कोई ## 21 # डायल कर सकता है।

+0

लेकिन यह कोड मेरे लिए काम नहीं कर रहा है – Sathish

+0

आपको क्या त्रुटि मिल रही है? मैंने इसका परीक्षण किया है और यह मेरे लिए काम करता है। यह भी केवल जीएसएम संख्याओं के लिए काम करता है। – ASH

+0

Intent.ACTION_DIAL आपको डायल स्क्रीन पर ले जाएगा और Intent.ACTION_CALL सेटडाटा() में डाला गया नंबर कॉल करेगा और इस प्रकार सीधे नंबर ** 21 * your_number # डायल करेगा। यह आपके फोन को कॉल अग्रेषण मोड में स्वचालित रूप से प्रदान करेगा, बशर्ते "your_number" सही है। –

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