Android Call State Example




We can likewise get the data of call state utilizing the TelephonyManager class. For this reason, we have to call the listen strategy for TelephonyManager class by passing the PhonStateListener occasion.

The PhoneStateListener interface must be actualized to get the call state. It gives one strategy onCallStateChanged().
Activity class

import android.os.Bundle;  
import android.app.Activity;  
import android.content.Context;  
import android.telephony.PhoneStateListener;  
import android.telephony.TelephonyManager;  
import android.view.Menu;  
import android.widget.Toast;  
  
public class MainActivity extends Activity {  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
          
        TelephonyManager telephonyManager =  
                      (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);  
         
        PhoneStateListener callStateListener = new PhoneStateListener() {  
        public void onCallStateChanged(int state, String incomingNumber)   
        {  
              if(state==TelephonyManager.CALL_STATE_RINGING){  
                        Toast.makeText(getApplicationContext(),"Phone Is Riging",  
                                                                         Toast.LENGTH_LONG).show();  
              }  
                if(state==TelephonyManager.CALL_STATE_OFFHOOK){  
                    Toast.makeText(getApplicationContext(),"Phone is Currently in A call",   
                                                                                  Toast.LENGTH_LONG).show();  
                }  
                                  
                if(state==TelephonyManager.CALL_STATE_IDLE){  
                    Toast.makeText(getApplicationContext(),"phone is neither ringing nor in a call",  
                                                                                                 Toast.LENGTH_LONG).show();  
                }  
        }  
        };  
        telephonyManager.listen(callStateListener,PhoneStateListener.LISTEN_CALL_STATE);  
          
    }  
  
    @Override  
    public boolean onCreateOptionsMenu(Menu menu) {  
        // Inflate the menu; this adds items to the action bar if it is present.  
        getMenuInflater().inflate(R.menu.main, menu);  
        return true;  
    }  
      
}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>  
<manifest xmlns:androclass="http://schemas.android.com/apk/res/android"  
    package="com.codebind.callstates"  
    android:versionCode="1"  
    android:versionName="1.0" >  
  
    <uses-sdk  
        android:minSdkVersion="8"  
        android:targetSdkVersion="17" />  
   
       
       <uses-permission android:name="android.permission.READ_PHONE_STATE" />  
         
    <application  
        android:allowBackup="true"  
        android:icon="@drawable/ic_launcher"  
        android:label="@string/app_name"  
        android:theme="@style/AppTheme" >  
        <activity  
            android:name="com.codebind.callstates.MainActivity"  
            android:label="@string/app_name" >  
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />  
  
                <category android:name="android.intent.category.LAUNCHER" />  
            </intent-filter>  
        </activity>  
    </application>  
  
</manifest>

Partner Sites

VideoToGifs.com

EasyOnlineConverter.com

SqliteTutorials.com





Be the first to comment

Leave a Reply

Your email address will not be published.


*