2009-07-05 8 views
67

में कॉल को अवरुद्ध करने के लिए कैसे मैं कुछ संख्याओं से कॉल अवरुद्ध करना चाहता हूं, क्योंकि मैं स्वयं का एक ऐप लिखना चाहता हूं। तो एपीआई क्या हैं जिनका उपयोग करना चाहिए?एंड्रॉइड

असल में मैं कॉल आने पर अधिसूचित होना चाहता हूं, अगर मैं ब्लॉक करना चाहता हूं तो मैं संख्याओं की तुलना करना चाहता हूं, मैं कॉल को काटना चाहता हूं या इसे म्यूट करना चाहता हूं या यदि संभव हो तो इसे म्यूट करें और रिकॉर्ड करें।

+0

मुझे लगता है कि आने वाली कॉल ब्लॉक करने के लिए संभव है। इस प्रयास करें: http://stackoverflow.com/questions/7121508/android-taking-complete-control-of-phone-is-it-possible-how/7121586#7121586 –

+0

http://stackoverflow.com/ए/5268927/1 9 3 9 564 –

+0

कृपया गलत उत्तर को स्वीकार न करें, यह कुछ लोगों को भ्रमित कर सकता है कि स्वीकृत उत्तर सही नहीं है। – ayanami

उत्तर

3

आप अपने संपर्कों में विशिष्ट संख्याओं को अपने वॉयस मेल पर फिर से निर्देशित कर सकते हैं। यह पहले से ही समर्थित है।

अन्यथा मुझे लगता है कि 'संपर्क' के लिए प्रलेखन देखना शुरू करने के लिए एक अच्छी जगह होगी।

5

यह संभव है और आपको इसे स्वयं कोड करने की आवश्यकता नहीं है।

आने वाले नंबर को खाली स्ट्रिंग के बराबर होने पर रिंगर वॉल्यूम शून्य और कंपन को सेट करें। यह है ...

यह सिर्फ एंड्रॉइड मार्केट से एप्लिकेशन नॉस्टॉक के साथ आपके लिए किया गया है। बस इसे आज़माएं ...

+6

प्रश्न ऐसे किसी ऐप के बारे में नहीं है, यह है कि आने वाले नंबर को प्रोग्रामिक रूप से अवरुद्ध करना है + आपके समाधान में मुझे कैसे पता चलेगा कि संख्या क्या है? –

+1

यह मुश्किल नहीं है ... यदि आप एसडीके संदर्भ के अंदर देखते हैं तो आप देखेंगे कि ऑन-स्टालस्टेट चेंजलिस्टर() है जो आपके ऐप में पंजीकृत होना है। एक बार ऐसा करने के बाद यह आपको कॉलस्टेट प्रदान करेगा जो आईडीई, रिंगिंग या OFF_HOOK में से एक हो सकता है। इसके अलावा श्रोता आपको आने वाली संख्या प्रदान करेगा ... यही वह बिंदु है जहां आपकी कार्यवाही होती है। असुविधाजनक रूप से एसडीके आपको कॉल छोड़ने का विकल्प नहीं देगा, ये फ़ंक्शन सार्वजनिक उपलब्ध नहीं हैं, वे इस तरह से छुपाए गए हैं कि उन्हें एक्सेस करने का कोई तरीका नहीं है। –

64

ओएमजी !!! हां, हम ऐसा कर सकते हैं !!! मैं 24 घंटों की जांच और खोज के गंभीर बाद के बाद खुद को मारने जा रहा था ... लेकिन मुझे "ताजा" समाधान मिला है!

// "cheat" with Java reflection to gain access to TelephonyManager's 
// ITelephony getter 
Class c = Class.forName(tm.getClass().getName()); 
Method m = c.getDeclaredMethod("getITelephony"); 
m.setAccessible(true); 
telephonyService = (ITelephony)m.invoke(tm); 

सभी सभी सभी लोगों के सैकड़ों जो अपने कॉल-नियंत्रण सॉफ्टवेयर यात्रा this start point

विकसित करने के लिए चाहता है की एक परियोजना है। और वहाँ महत्वपूर्ण टिप्पणियां (और क्रेडिट) कर रहे हैं

संक्षिप्त: AIDL फ़ाइल की प्रतिलिपि, अनुमतियां जोड़ने प्रकट करने के लिए, कॉपी-पेस्ट टेलीफोनी प्रबंधन के लिए स्रोत)))

आप के लिए कुछ अधिक जानकारी। एटी कमांड आप केवल तभी भेज सकते हैं जब आप रूट हैं। आप सिस्टम प्रक्रिया को मार सकते हैं और कमांड भेज सकते हैं लेकिन आपको अपने फोन को प्राप्त करने और कॉल भेजने की अनुमति देने के लिए रीबूट की आवश्यकता होगी))

मैं बहुत hapy =) अब मेरे शेक 2 म्यूटकॉल को अपडेट मिलेगा!

+6

भले ही यह काम करता है, यह मेरे लिए थोड़ा जोखिम भरा लगता है। जब भी आंतरिक एपीआई बदलता है तो आपका आवेदन बिना किसी सूचना के टूटा जा सकता है। –

+15

2.3 जिंजरब्रेड इस –

+7

को तोड़ देता है लिंक टूट गया है .... –

3

एंड्रॉइड-एन में, यह सुविधा इसमें शामिल है। एंड्रॉयड N के लिए Number-blocking अद्यतन जाँच

एंड्रॉयड एन अब नंबर-अवरुद्ध मंच में समर्थन करता है और यह बताने के लिए सेवा प्रदाताओं एक अवरुद्ध संख्या सूची बनाए रखने के एक ढांचे एपीआई प्रदान करता है। डिफ़ॉल्ट एसएमएस ऐप, डिफ़ॉल्ट फ़ोन ऐप और प्रदाता ऐप्स पढ़ सकते हैं और अवरुद्ध-संख्या सूची में लिख सकते हैं। यह सूची अन्य ऐप पर तक पहुंच योग्य नहीं है।की

लाभ कर रहे हैं:

  1. नंबर कॉल पर अवरुद्ध भी ग्रंथों
  2. अवरोधित नंबर बैकअप & के माध्यम से फिर सेट करता है और उपकरणों में बच सकते हैं सुविधा बहाल
  3. एकाधिक एप्लिकेशन उपयोग करते हैं पर ब्लॉक किए गए हैं एक ही अवरुद्ध संख्या सूची

अधिक जानकारी के लिए एनीयन, android.provider.BlockedNumberContract

एक मौजूदा प्रोजेक्ट अपडेट करें।

एंड्रॉयड एन मंच तुलना में अपने ऐप को संकलित करने के लिए आपको जावा 8 डेवलपर किट (JDK 8) उपयोग करने की आवश्यकता है, और आदेश एंड्रॉयड स्टूडियो 2.1 के साथ कुछ उपकरणों का उपयोग करने के लिए आपको स्थापित करने की आवश्यकता जावा 8 रनटाइम पर्यावरण (जेआरई 8)

ओपन अपने मॉड्यूल के लिए build.gradle फ़ाइल और इस प्रकार मान अपडेट:

android { 
    compileSdkVersion 'android-N' 
    buildToolsVersion 24.0.0 rc1 
    ... 

    defaultConfig { 
    minSdkVersion 'N' 
    targetSdkVersion 'N' 
    ... 
    } 
    ... 
} 
+0

इस पोस्ट के लिंक मान्य नहीं हैं! उनमें से दोनों को 404 नहीं मिला! – hadilq

+2

ये https://developer.android.com आधिकारिक साइट –

+0

से लिंक हैं इस टिप्पणी के रूप में आप यहां लिंक देख सकते हैं: https://developer.android.com/about/versions/nougat/android-7.0.html# संख्या-अवरुद्ध https://developer.android।कॉम/संदर्भ/एंड्रॉइड/प्रदाता/अवरुद्ध NumberContract.html कॉल स्क्रीनिंग प्रासंगिक होने के लिए भी मिला: https://developer.android.com/about/versions/nougat/android-7.0.html#call_screening – jcmcbeth