2017-12-09 84 views
11

एक इनकमिंग कॉल समाप्त करने के लिए कैसे ऊपर एंड्रॉयड 7.1 के लिए यह संभव था ITelephony.endCall() विधि अनुमतियाँ android.permission.CALL_PHONE और android.permission.READ_PHONE_STATE का उपयोग कर और अपने अनुप्रयोग देकर एक इनकमिंग कॉल समाप्त करने के लिए।प्रोग्राम के Android पर 8.0 Oreo

जब Android 8.0 Oreo (API 26) पर एक ही कर रही है, मैं इस त्रुटि मिलती है

12-09 18: 11: 25.195 16,833-16,833/li.doerf.leavemealone ई/TelephonyServiceCallHangup: अनुमति MODIFY_PHONE_STATE लापता, hangup नहीं कर सकते फोन

के बाद से MODIFY_PHONE_STATE एक संरक्षित अनुमति है, मेरे ऐप यह नहीं मिल सकता है। Android 8.0+ पर आने वाली कॉल को प्रोग्रामेटिक रूप से समाप्त करने का कोई तरीका है?

+0

इस उत्तर देखें, आशा है यह मदद मिलेगी: [समाप्ति इनकमिंग कॉल एंड्रॉयड] (https://stackoverflow.com/a/18065415/4575580) –

+0

मैंने उस समाधान के साथ प्रयास किया। काम नहीं कर रहा। लेकिन मेरी समस्या 8.0 ओरेओ संस्करण – Santosh

+0

से डिस्कनेक्ट नहीं हो रही है दुर्भाग्य से यह एंड्रॉइड 8.0+ (ओरेओ) में काम नहीं करता है। क्या किसी को ओरेओ + में काम करने वाले विकल्पों के बारे में पता है? – doerfli

उत्तर

1

2 लिंक है जो आप के लिए सहायक है नीचे की जाँच करें:

Permission is only granted to system app, in Manifest

https://source.android.com/devices/tech/config/perms-whitelist

ऊपर दिए लिंक पर सफेद सूची अपने MODIFY_PHONE_STATE अनुमति के लिए प्रयोग किया जाता है। यह सुरक्षा उद्देश्य के लिए है, इसलिए यदि आप इस तरह की अनुमति तक उस समय तक पहुंचना चाहते हैं, तो आप अपने ऑपरेशन को कॉल करने के बाद अपनी अनुमति को श्वेत-सूची में सूचीबद्ध कर सकते हैं।

मुझे लगता है कि एंड्रॉइड ओरेओ नवीनतम अपडेट के अनुसार आप इनबिल्ट विधि कार्यान्वयन का उपयोग करके अपनी गतिविधि में फोन कॉल प्राप्त कर सकते हैं लेकिन वे कॉल के अंत को संभालने के लिए डेवलपर प्रदान नहीं कर रहे हैं। कॉल प्राप्त करने के लिए फोन नंबर प्राप्त करें (पढ़ें) लेकिन आपको इसकी अनुमति को परिभाषित करने की आवश्यकता है। मुझे लगता है कि मेरा उपरोक्त विवरण

समझने के लिए पर्याप्त है, आशा है कि आप इस प्रश्न को समझें और बंद कर दें।

+0

यह समाधान केवल उन फ़ोनों के लिए काम करता है जो रूट या एओएस चलाते हैं, जो एक नियमित बाजार ऐप का विकल्प नहीं है। – doerfli

+0

फिर हम इसमें कुछ भी नहीं कर सकते @doerfli। –

1

उत्तर में here उत्तर में प्रतिबिंब का उपयोग करने का प्रयास करें।

यह READ_PHONE_STATE और CALL_PHONE अनुमतियों के साथ काम करता है। उन अनुमतियों को android docs

1

आप अपने manifest- में इस अनुमति जोड़नी होगी अनुसार, गैर सिस्टम एप्लिकेशन के लिए उपलब्ध हैं:

<uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/> 
संबंधित मुद्दे