Android Simple Caller Talker




Android Tutorial
Android Tutorial

Android gives the office to know the approaching number and talk it by the assistance of android discourse programming interface and communication director.

Here, we are going to build up a fundamental android application that talks the approaching number while telephone is in ringing mode.

In the following page, we will see the full form of this application that talks the guest name and gives the setting choice to change the velocity rate and pitch. Additionaly, it gives alternative to include content previously, then after the fact the approaching number or guest name.

<RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android"  
    xmlns:tools="http://schemas.android.com/tools"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:paddingBottom="@dimen/activity_vertical_margin"  
    android:paddingLeft="@dimen/activity_horizontal_margin"  
    android:paddingRight="@dimen/activity_horizontal_margin"  
    android:paddingTop="@dimen/activity_vertical_margin"  
    tools:context=".MainActivity" >  
  
    <TextView  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:text="@string/hello_world" />  
  
</RelativeLayout>
package com.example.callertalker;  
import java.util.Locale;  
import android.media.AudioManager;  
import android.os.Bundle;  
import android.app.Activity;  
import android.content.Context;  
import android.telephony.PhoneStateListener;  
import android.telephony.TelephonyManager;  
import android.util.Log;  
import android.widget.Toast;  
import android.speech.tts.TextToSpeech;  
  
public class MainActivity extends Activity implements TextToSpeech.OnInitListener {  
    private TextToSpeech tts;  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
          
        tts = new TextToSpeech(this, this);  
            
        TelephonyManager telephonyManager = (TelephonyManager)getSystemService(  
                                                                         Context.TELEPHONY_SERVICE);  
          
        PhoneStateListener callStateListener = new PhoneStateListener() {  
        public void onCallStateChanged(int state, String incomingNumber){  
              if(state==TelephonyManager.CALL_STATE_RINGING){  
                  tts.speak(incomingNumber+" calling", TextToSpeech.QUEUE_FLUSH, null);  
                  Toast.makeText(getApplicationContext(),"Phone is Ringing : "+incomingNumber,   
                                                                               Toast.LENGTH_LONG).show();  
                 }  
              if(state==TelephonyManager.CALL_STATE_OFFHOOK){  
                    Toast.makeText(getApplicationContext(),"Phone in a call or call picked",   
                                                                                  Toast.LENGTH_LONG).show();  
              }  
              if(state==TelephonyManager.CALL_STATE_IDLE){  
                    //phone is neither ringing nor in a call  
              }  
        }  
        };  
        telephonyManager.listen(callStateListener,PhoneStateListener.LISTEN_CALL_STATE);  
    }  
  
    @Override  
    public void onInit(int status) {  
        if (status == TextToSpeech.SUCCESS) {  
            int result = tts.setLanguage(Locale.US);  
            if (result == TextToSpeech.LANG_MISSING_DATA  
                    || result == TextToSpeech.LANG_NOT_SUPPORTED) {  
                Log.e("TTS", "This Language is not supported");  
            } else {          
            }  
  
        } else {  
            Log.e("TTS", "Initilization Failed!");  
        }  
    }  
      
    @Override  
    public void onDestroy() {  
    // Don't forget to shutdown tts!  
    if (tts != null) {  
        tts.stop();  
        tts.shutdown();  
    }  
    super.onDestroy();  
    }  
}

Partner Sites

VideoToGifs.com

EasyOnlineConverter.com

SqliteTutorials.com





Be the first to comment

Leave a Reply

Your email address will not be published.


*