Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Android

एंड्रॉइड में प्रोग्रामेटिक रूप से इनकमिंग कॉल में जवाब कैसे दें?

<घंटा/>

यह उदाहरण दर्शाता है कि एंड्रॉइड में प्रोग्रामेटिक रूप से इनकमिंग कॉल का जवाब कैसे दिया जाए।

चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।

चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।

 <टेक्स्ट व्यू एंड्रॉइड:लेआउट_विड्थ ="रैप_कंटेंट" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" एंड्रॉइड:टेक्स्ट ="हैलो वर्ल्ड!" ऐप:layout_constraintBottom_toBottomOf="parent" ऐप:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" />>
 चरण 3 - निम्न कोड को src/MainActivity.java

में जोड़ें <पूर्व>पैकेज com.app.sample;import androidx.appcompat.app.AppCompatActivity;import android.content.Context;import android.content.Intent;import android.os.Build;import android.os.Bundle;public class MainActivity AppCompatActivity को बढ़ाता है {@Override संरक्षित शून्य onCreate (बंडल सेव्ड इंस्टेंसस्टेट) {super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); } सार्वजनिक शून्य एक्सेप्टकॉल () {संदर्भ संदर्भ =अशक्त; अगर (बिल्ड.VERSION.SDK_INT>=21) {इरादा उत्तरकैलिंटेंट =नया इरादा (संदर्भ, AcceptCallActivity.class); answerCalintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); answerCalintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); संदर्भ.स्टार्टएक्टिविटी (उत्तर कलिंटेंट); } और {इरादा इरादा =नया इरादा (संदर्भ, AcceptCallActivity.class); Intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); इंटेंट.सेटफ्लैग्स (इरादा.FLAG_ACTIVITY_NEW_TASK); संदर्भ। प्रारंभ गतिविधि (इरादा); } }}

चरण 4 - निम्न कोड को src/AcceptCallActivity.java

में जोड़ें <पूर्व>पैकेज com.app.sample;import android.app.Activity;import android.app.KeyguardManager;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content. IntentFilter; आयात android.media.AudioManager; आयात android.os.Build; android.os.Bundle आयात करें; android.telephony.TelephonyManager आयात करें; android.view.KeyEvent आयात करें; android.view.WindowManager आयात करें; java.io.IOException आयात करें;आयात java.util.logging.Logger; सार्वजनिक वर्ग AcceptCallActivity गतिविधि बढ़ाता है {निजी स्थिर लकड़हारा लकड़हारा =लकड़हारा। getLogger (स्ट्रिंग.valueOf (AcceptCallActivity.class)); निजी स्थिर अंतिम स्ट्रिंग MANUFACTUER_HTC ="HTC"; निजी कीगार्डमैनेजर कीगार्डमैनेजर; निजी ऑडियो प्रबंधक ऑडियो प्रबंधक; निजी कॉलस्टेट रिसीवर कॉलस्टेट रिसीवर; @Override संरक्षित शून्य पर क्रिएट (बंडल सेव किया गया इंस्टेंसस्टेट) {super.onCreate (savedInstanceState); keyguardManager =(कीगार्डमैनेजर) getSystemService (संदर्भ। KEYGUARD_SERVICE); ऑडियोमैनेजर =(ऑडियोमैनेजर) getSystemService (संदर्भ.AUDIO_SERVICE); } @Override संरक्षित शून्य onResume() {super.onResume(); रजिस्टरकॉलस्टेट रिसीवर (); अपडेटविंडोफ्लैग्स (); कॉल लेना(); } @Override संरक्षित शून्य पर रोकें () {super.onPause (); अगर (कॉलस्टेट रिसीवर! =शून्य) {अपंजीकृत रिसीवर (कॉलस्टेट रिसीवर); कॉलस्टेट रिसीवर =शून्य; } } निजी शून्य registerCallStateReceiver() { callStateReceiver =new CallStateReceiver (); इंटेंटफिल्टर इंटेंटफिल्टर =नया इंटेंटफिल्टर (); इंटेंटफिल्टर.एडएक्शन (टेलीफोनीमैनेजर.ACTION_PHONE_STATE_CHANGED); रजिस्टर रिसीवर (कॉलस्टेट रिसीवर, इंटेंटफिल्टर); } निजी शून्य अद्यतनविंडोफ्लैग्स() { अगर (keyguardManager.inKeyguardRestrictedInputMode ()) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON | WindowManager.LayoutParams.FLAG_SHOW_W); } और { getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); } } निजी शून्य एक्सेप्टकॉल () {बूलियन ब्रॉडकास्टकनेक्टेड =MANUFACTUER_HTC.equalsIgnoreCase(Build.MANUFACTUER) &&!audioManager.isWiredHeadsetOn(); अगर (प्रसारण कनेक्टेड) ​​{प्रसारण हेडसेट कनेक्टेड (झूठा); } कोशिश करें {कोशिश करें {Runtime.getRuntime().exec("इनपुट keyevent" + Integer.toString(KeyEvent.KEYCODE_HEADSETHOOK)); } पकड़ें (IOException e) { String EnforcedPerm ="android.permission.CALL_PRIVILEGED"; आशय btnDown =नया आशय (इरादा। आशय btnUp =नया आशय (इरादा। SendOrderedBroadcast (btnDown, EnforcedPerm); SendOrderedBroadcast (btnUp, EnforcedPerm); } } अंत में { अगर (प्रसारण कनेक्टेड) ​​{प्रसारण हेडसेट कनेक्टेड (झूठा); } } } निजी शून्य प्रसारण हेडसेट कनेक्टेड (बूलियन कनेक्टेड) ​​{इरादा i =नया इरादा (इरादा.ACTION_HEADSET_PLUG); i.addFlags (इरादा.FLAG_RECEIVER_REGISTERED_ONLY); i.putExtra ("राज्य", जुड़ा हुआ? 1:0); i.putExtra ("नाम", "mysms"); कोशिश करें {sendOrderedBroadcast (i, null); } पकड़ (अपवाद ई) { } } निजी वर्ग CallStateReceiver BroadcastReceiver बढ़ाता है {@Override सार्वजनिक शून्य onReceive (संदर्भ संदर्भ, इरादा इरादा) {खत्म (); } }}

चरण 5 - निम्न कोड को Manifests/AndroidManifest.xml

में जोड़ें
 <एप्लिकेशन एंड्रॉइड:अनुमति बैकअप ="सच" एंड्रॉइड:आइकन ="@ मिपमैप / आईसी_लॉन्चर" एंड्रॉइड:लेबल ="@ स्ट्रिंग / ऐप_नाम" एंड्रॉइड:राउंडआईकॉन ="@ मिपमैप / आईसी_लॉन्चर_राउंड" एंड्रॉइड:सपोर्ट आरटीएल ="सच" एंड्रॉइड :theme="@style/AppTheme"> <गतिविधि android:name=".MainActivity"> <इरादे-फ़िल्टर> <कार्रवाई android:name="android.intent.action.MAIN" /> <श्रेणी android:name=" android.intent.category.LAUNCHER" />   

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

एंड्रॉइड में प्रोग्रामेटिक रूप से इनकमिंग कॉल में जवाब कैसे दें?


  1. एंड्रॉइड ऐप में एक टुकड़े से गतिविधि विधि कैसे कॉल करें?

    यह उदाहरण दर्शाता है कि मैं एंड्रॉइड में एक टुकड़े से गतिविधि विधि को कैसे कॉल करूं। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें। चरण 3

  1. प्रोग्रामेटिक रूप से आवेदन कैसे छोड़ें?

    यह उदाहरण दर्शाता है कि मैं एंड्रॉइड में प्रोग्रामेटिक रूप से एप्लिकेशन कैसे छोड़ सकता हूं। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।

  1. Android के लिए 10 सर्वश्रेष्ठ ऑफ़लाइन नेविगेशन ऐप्स

    प्रौद्योगिकी समय के साथ अत्यधिक विकास हुआ है और इसलिए नेविगेशन भी है। अब GPS नेविगेशन ऐप्स के साथ दुनिया की यात्रा करना और उसकी खोज करना बहुत आसान हो गया है। लेकिन अधिकांश एप्लिकेशन प्रमुख रूप से मानचित्रों तक पहुँचने के लिए इंटरनेट कनेक्टिविटी का समर्थन करते हैं। तो, क्या हुआ अगर आप कहीं के बीच में