2012-03-28 15 views
1

Mögliche Duplizieren:
launching my app when dialing a numberWie bekomme ich meine Handynummer in meiner Anwendung?

Ich möchte die Handy-Nummer von Dialer erhalten, die durch den Benutzer in meinem Android application.I gewählt hat implementiert haben eine Anwendung wie folgt:

aus dem obigen Code kann ich Dialer app.Wenn Benutzer eine Handynummer eingeben und klicken Sie auf Anruf dann möchte ich bekommen welche Nummer er eingegeben hat. bitte jede Stelle Hilfe drauf ...

+3

ich mit dem Schließen dieses Threads nicht einverstanden - das „Duplikat“ wird bei allen fetching nicht diskutieren der Telefonnummer. Außerdem ist die Antwort dort mit viel niedrigerem Wert. Wenn Sie einen Thread schließen möchten, schließen Sie den anderen. –

+0

Ich versuche auch so etwas. Aber ich möchte die Nummer bekommen, bevor der Anruf getätigt wird, sobald etwas in der Dialer-App gewählt wird. Kann irgendjemand helfen? –

Antwort

0

ich meine Lösungscode folgend bekam

public class OutGoingCall extends BroadcastReceiver { 

    @Override 
    public void onReceive(final Context context, final Intent intent) 
    { 
     // get phone number from bundle 
     String phoneNumber = intent.getExtras().getString(OutGoingCall.INTENT_PHONE_NUMBER); 

    } 
} 
+0

Absicht i = neue Absicht (Intent.ACTION_DIAL, Uri.parse ("tel:" + phoneno)); –

+0

können Sie das auch tun Intent callIntent = new Intent (Intent.ACTION_CALL); callIntent.setData (Uri.parse ("tel:" + pnmu)); context.startActivity (callIntent); zum Senden der Nummer über die Variable –

10

Sie können BroadcastReceiverto verwenden Sie das:

in Manifest-Datei eine BroadcastReceiver wie dieses Register:

<!-- DIAL Receiver --> 
    <receiver 
     android:exported="true" 
     android:name="receivers.DialBroadcastReceiver" > 
     <intent-filter > 
      <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> 
     </intent-filter> 
    </receiver> 

Sie benötigen Genehmigung NEW_OUTGOING_CALL:

<!-- OUTGOING CALL PERMISSION--> 
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /> 

Schließlich können Sie die Sendung empfangen und die gewählte Nummer wie folgt abrufen:

public class DialBroadcastReceiver extends BroadcastReceiver { 

@Override 
public void onReceive(Context context, Intent intent) { 

    Log.v("DileBroadCastReceiver","In onReceive()"); 

    if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) { 
     String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); 

     Log.v("DialBroadcast Receiver","Number is: "+number); 

    } 

} 

}

Verwandte Themen