Android bietet Integrierte Anwendungen für die Telefonanrufe, in einigen Fällen können wir brauchen, um einen Anruf von unserem Antrag zu stellen. Dies könnte leicht mit Hilfe impliziter Intent mit entsprechenden Aktionen durchgeführt werden. Auch wir können PhoneStateListener und TelephonyManager Klassen verwenden, um die Änderungen in einigen Telefoniezustände am Gerät zu überwachen.
In diesem Kapitel werden Sie alle die einfache Schritte, um eine Anwendung, die verwendet werden können, um einen Anruf zu tätigen erstellen. Sie können Android Intent verwenden, um Telefonanruf durch Aufrufen von integrierten Phone Call Funktionalität des Android zu machen. Folgende Abschnitt erläutert verschiedenen Teilen unseres Intent-Objekt erforderlich ist, um einen Anruf zu tätigen.
Intent Object - Aktion zu telefonieren
Sie verwenden ACTION_CALL Maßnahmen zur integrierten Telefonanruf Funktionen in Android-Gerät auszulösen. Finden Sie einfache Syntax, um eine Absichtserklärung mit ACTION_CALL Aktion zu erstellen
Intent phoneIntent = new Intent(Intent.ACTION_CALL);
Sie können ACTION_DIAL Aktion statt ACTION_CALL, in diesem Fall werden Sie Option, um einprogrammierte Telefonnummer, bevor Sie einen Anruf tätigen, anstatt eine Direktwahl zu ändern haben.
Intent Object - Data / Typ zu telefonieren
Um einen Anruf bei einer bestimmten Anzahl 91-000-000-0000 zu machen, müssen Sie angeben, tel: als URI mit setData () -Methode wie folgt -
phoneIntent.setData(Uri.parse("tel:91-000-000-0000"));
Der interessante Punkt ist, dass, um einen Anruf zu tätigen, brauchen Sie nicht, um keine zusätzlichen Daten oder Datentyp angeben.
Beispiel
Folgende Beispiel zeigt, in der Praxis, wie man Android Intent verwenden, um Telefonanruf an die angegebene Mobiltelefonnummer zu machen.
Um bei diesem Beispiel zu experimentieren, werden Sie tatsächlich Mobile-Gerät mit der neuesten Android OS ausgestattet benötigen, andernfalls müssen Sie mit Emulator, die nicht arbeiten können kämpfen.
Schritt | Bezeichnung |
---|---|
1 | Sie werden Android-Studio IDE verwenden, um ein Android-Anwendung erstellen und benennen es als meine Anwendung unter einem Paketcom.example.saira_000.myapplication. Bei der Erstellung dieses Projekt, stellen Sie sicher SDK Ziel und Kompilieren Sie mit bei der neuesten Version des Android SDK zu höheren Ebenen der APIs verwenden. |
2 | Ändern src / MainActivity.java Datei und fügen erforderlichen Code für die Pflege, die einen Aufruf zu nehmen. |
3 | Ändern Sie das Layout XML-Datei res / layout / activity_main.xml jede GUI-Komponente hinzufügen, wenn erforderlich. Ich füge eine einfache Schaltfläche, um 91-000-000-0000 Nummer anrufen |
4 | Keine Notwendigkeit, Standardzeichenfolge constants.Android Studio definieren nimmt Standardkonstanten. |
5 | Ändern AndroidManifest.xml wie unten gezeigt |
6 | Führen Sie die Anwendung auf Android-Emulator zu starten, und überprüfen Sie das Ergebnis der Änderungen in der Anwendung durchgeführt. |
Im Folgenden ist der Gehalt des modifizierten Haupttätigkeit Datei src /MainActivity.java.
package 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 extends Activity { Button b1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); b1=(Button)findViewById(R.id.button); call(); } private void call() { Intent in=new Intent(Intent.ACTION_CALL,Uri.parse("0000000000")); try{ startActivity(in); } catch (android.content.ActivityNotFoundException ex){ Toast.makeText(getApplicationContext(),"yourActivity is not founded",Toast.LENGTH_SHORT).show(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
Im Anschluss wird der Inhalt sein res / layout / activity_main.xml Datei -
<RelativeLayout xmlns:android="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:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Drag and Drop Example" android:id="@+id/textView" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:textSize="30dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tutorials Point" android:id="@+id/textView2" android:layout_below="@+id/textView" android:layout_centerHorizontal="true" android:textSize="30dp" android:textColor="#ff14be3c" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:src="@drawable/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="Call" android:id="@+id/button" android:layout_below="@+id/imageView" android:layout_alignRight="@+id/textView2" android:layout_alignEnd="@+id/textView2" android:layout_marginTop="54dp" android:layout_alignLeft="@+id/imageView" android:layout_alignStart="@+id/imageView" /> </RelativeLayout>
Im Anschluss wird der Inhalt sein res / Werte / strings.xml zwei neue Konstanten definieren -
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">My Application</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> </resources>
Im Folgenden ist der Standardinhalt der AndroidManifest.xml -
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.saira_000.myapplication" android:versionCode="1" android:versionName="1.0" > <uses-permission android:name="android.permission.CALL_PHONE" /> <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.example.saira_000.myapplication.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>
Lasst uns versuchen, Ihre Lauf My Application Anwendung. Ich nehme an, Sie Ihre aktuelle Android-Gerät mit dem Computer verbunden haben. Um die App vom Android-Studio, öffnen Sie eine der Aktivität Dateien Ihres Projekt auszuführen, und klicken Sie auf Ausführen-Symbol in der Symbolleiste. Vor dem Start der Anwendung wird Android Studio Installer folgende Fenster angezeigt werden, um eine Option, wo Sie Ihre Android-Anwendung ausgeführt werden soll.
Wählen Sie Ihr Mobilgerät als Option und prüfen Sie dann Ihr mobiles Gerät die folgenden Bildschirm anzuzeigen wird -
Jetzt verwenden Anruf-Taste, um Anruf zu tätigen, wie unten dargestellt:
0 التعليقات:
Kommentar veröffentlichen