Android Phone Calls

Android gir Innebygde programmer for telefonsamtaler, i enkelte tilfeller kan vi trenger å ringe via vår søknad. Dette kan enkelt gjøres ved å bruke implisitt Intent med nødvendige tiltak. Dessuten kan vi bruke PhoneStateListener og TelephonyManager klasser, for å overvåke endringer i enkelte telefoni stater på enheten.

Dette kapittelet lister ned alle de enkle trinnene for å opprette et program som kan brukes til å lage en telefon Ringe. Du kan bruke Android Intent å gjøre telefonsamtale ved å ringe innebygd telefonsamtale funksjonaliteten til Android. Følgende avsnitt forklarer ulike deler av vårt Intent objekt kreves for å gjøre en call of
Intent Object -. Tiltak for å gjøre telefonsamtale

Du vil bruke ACTION_CALL
tiltak for å utløse inne i telefonsamtale funksjonalitet tilgjengelig i Android-enhet. Følgende er enkel syntaks å skape en intensjonsavtale med ACTION_CALL handling
Intent phoneIntent = new Intent (Intent.ACTION_CALL);

Du kan bruke ACTION_DIAL
handling i stedet for ACTION_CALL, i så fall vil du ha muligheten å endre hardkodet telefonnummer før du ringer i stedet for å lage en direkte samtale

Intent Object -. data /type for å gjøre telefonsamtale

For å ringe på et gitt antall 91-000 -000-0000, må du angi tel:
som URI hjelp setData () metode som følger −
phoneIntent.setData (Uri.parse ("tel: 91-000-000-0000" ));

Det interessante er at, å ringe, du trenger ikke å oppgi noen ekstra data eller datatype

Eksempel

Følgende eksempel viser deg i praktisk. hvordan du bruker Android Intent å foreta telefonsamtale til den gitte mobilnummer.
Å eksperimentere med dette eksempelet, vil du trenge selve Mobile enheter utstyrt med nyeste Android OS, ellers vil du måtte slite med emulator som ikke kan work.StepDescription1You vil bruke Android studio IDE å lage en Android-applikasjon, og gi det et navn som Min Application
under en pakke com.example.saira_000.myapplication
. Mens du oppretter dette prosjektet, må du Target SDK Hotell og kompilere med
på den nyeste versjonen av Android SDK til å bruke høyere nivåer av APIs.2Modify src /MainActivity.java
fil og legge nødvendig kode for å ta vare på å lage en call.3Modify layout XML-fil res /layout /activity_main.xml
legge noen GUI-komponent hvis nødvendig. Jeg legger til en enkel knapp for å ringe 91-000-000-0000 number4No trenger å definere standardstrengen constants.Android studio tar seg av standard constants.5Modify AndroidManifest.xml
som vist below6Run søknaden å lansere Android . emulator og verifisere resultatet av endringene som er gjort i søknaden

Følgende er innholdet i den modifiserte hovedaktivitet filen src /MainActivity.java
pakken com.example.saira_000.myapplication.; import android.app.Activity, import android.content.Intent, import android.net.Uri, import android.support.v7.app.ActionBarActivity, import android.os.Bundle, import android.view.Menu; import android.view .MenuItem, import android.view.View, import android.widget.Button, import android.widget.RadioButton, import android.widget.RadioGroup, import android.widget.Toast; public class MainActivity strekker Aktivitet {Button b1; Override Beskyttet void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); b1 = (Button) findViewById (R.id.button); ringe(); } Private void samtale () {Intent i = new Intent (Intent.ACTION_CALL, Uri.parse ("0000000000")); try {startActivity (i); } Catch (android.content.ActivityNotFoundException ex) {Toast.makeText (getApplicationContext (), "yourActivity er ikke grunnlagt", Toast.LENGTH_SHORT) .vis (); }}Override Public boolean onCreateOptionsMenu (Meny menyen) {//Blås menyen; dette legger til elementer i handlingsfeltet hvis det er til stede. . getMenuInflater () blåse (R.menu.menu_main, menyen); return true; }Override Public boolean onOptionsItemSelected (MENUITEM element) {//Håndtak handlingen bar varen klikk her. Handlingsfeltet vil //automatisk håndtere klikker på Hjem /Opp-knappen, så lenge //som du angir en forelder aktivitet i AndroidManifest.xml. int id = item.getItemId (); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) {return true; } Returnere super.onOptionsItemSelected (element); }}

Etter vil være innholdet i res /layout /activity_main.xml
fil −
< RelativeLayout xmlns: android = "http://schemas.android.com/apk/res /Android "xmlns: verktøy =" http://schemas.android.com/tools "android: layout_width =" match_parent "android: layout_height =" match_parent "android: paddingLeft =" @ dimen /activity_horizontal_margin "android: paddingRight =" @ dimen /activity_horizontal_margin "android: paddingTop =" @ dimen /activity_vertical_margin "android: paddingBottom =" @ dimen /activity_vertical_margin "verktøy: kontekst =" MainActivity ">. < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Dra og slipp Eksempel" android: id = "+ id /textView" android: layout_alignParentTop = "true" android: layout_centerHorizontal = " true "android: Tekststørrelse =" 30dp "/> < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Guider Point" android: id = "+ id /textView2" android: layout_below = "+ id /textView" android: layout_centerHorizontal = "true" android: Tekststørrelse = "30dp" android: textcolor = "# ff14be3c" /> < Imageview android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /bildeVis" android: src = "@ teikne /abc" android: layout_marginTop = "48dp" android: layout_below = " + id /textView2 "android: layout_centerHorizontal =" true "/> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Ring" android: id = "+ id /knapp" android: layout_below = "+ id /bildeVis" android: layout_alignRight = "+ id /textView2" android: layout_alignEnd = "+ id /textView2" android: layout_marginTop = "54dp" android: layout_alignLeft = "+ id /bildeVis" android: layout_alignStart = "+ id /bildeVis" /> < /RelativeLayout >

Etter vil være innholdet i res /verdier /strings.xml
å definere to nye konstanter og minus;
<? xml version = "1.0" encoding = "utf -8 ">? < resources > < string name = "APP_NAME" > My Application < /string > < string name = "hello_world" > Hei, verden <! /string > < string name = "action_settings" > Innstillinger < /string > < /ressurser >

Følgende er innholdet mislighold av AndroidManifest.xml

<? xml version = " 1.0 "encoding =" utf-8 "> < manifest xmlns:? android =" http://schemas.android.com/apk/res/android "pakken =" com.example.saira_000.myapplication "android: version = "1" android: versjon = "1.0" > < bruker-tillatelse android: name = "android.permission.CALL_PHONE" /> < bruker-tillatelse android: name = "android.permission.READ_PHONE_STATE" /> < søknad android: allowBackup = "true" android: icon = "@ teikne /ic_launcher" android: label = "@ streng /APP_NAME" android: tema = "@ stil /AppTheme" > < aktivitet android: name = "com.example.saira_000.myapplication.MainActivity" android: label = "@ streng /APP_NAME" > < intent-filter > < handling android: name = "android.intent.action.MAIN" /> < kategori android: name = "android.intent.category.LAUNCHER" /> < /intent-filter > < /aktivitets > < /søknad > < /manifest >

La oss prøve å kjøre ditt Min Application
søknad. Jeg antar at du har koblet den faktiske Android Mobile-enhet med datamaskinen. For å kjøre programmet fra Android studio, åpne en av prosjektets aktivitets filer, og klikk Kjør ikonet fra verktøylinjen. Før du starter programmet, vil Android studio installatøren vise følgende vindu for å velge et alternativ hvor du vil kjøre Android-applikasjon.

Velg den mobile enheten som et alternativ, og deretter sjekke den mobile enheten som vil vise følgende skjermbilde −

Nå bruker Ring
knappen for å gjøre telefonsamtale som vist nedenfor: