Ich übergebe an eine Aktivität die Nummer, die von einem Bündel angerufen werden soll
und dann habe ich in einer solchen Aktivität eine Taste, um diese Nummer anzurufen. Dies ist der Code:
callButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(bundle.getString("mobilePhone")));
}
});
Irgendwas stimmt nicht, denn wenn ich den Knopf drücke, passiert nichts ...
Was mache ich falsch?
PD: Ich verwende ein mit Android 1.5 kompatibles Projekt ... Vielleicht ist ein Anruf mit 1.5 nicht kompatibel?
android
phone-call
NullPointerException
quelle
quelle
Antworten:
Sie haben vergessen, startActivity aufzurufen. Es sollte so aussehen:
Eine Absicht an sich ist einfach ein Objekt, das etwas beschreibt. Es macht nichts.
Vergessen Sie nicht, Ihrem Manifest die entsprechende Berechtigung hinzuzufügen:
quelle
Versuchte dies auf meinem Handy und es funktioniert perfekt.
Fügen Sie diese Berechtigung in die Manifestdatei ein.
quelle
String number = "1689,,3,2,1,1
tunnubmer = "tel:" + number.replaceAll("[^0-9]", "");
,*
. Sie müssen unter Ziffern liegen. Auf einem Emulator funktioniert es richtig, aber auf einem Gerät werden zusätzliche Symbole und Ziffern gelöscht.für mehrfach bestellte Anrufe
Dies wird für DTMF-Aufrufsysteme verwendet. Wenn der Anruf abgebrochen wird, sollten Sie mehr "," zwischen den Nummern übergeben.
quelle
In der ausgewählten Antwort wird nicht nach Marshmallow-Berechtigungen gesucht. Es funktioniert nicht direkt in Marshmallow 6.0 oder höher.
Ich weiß, dass ich zu spät bin, aber diese Frage hat große Stimmen, deshalb dachte ich, dass sie in Zukunft anderen helfen wird.
In Marshmallow-Geräten benötigen wir eine Laufzeitberechtigung für den Anruf ...
Hier ist ein Beispiel für einen Anruf in Marshmallow oder höher.
So tätigen Sie einen Anruf in Android Marshmallow 6.0 oder höher
quelle
Schauen Sie dort nach: http://developer.android.com/guide/topics/intents/intents-filters.html
Haben Sie Ihre Manifestdatei aktualisiert, um Anrufrechte zu erteilen?
quelle
Hier zeige ich Ihnen, wie Sie von Ihrer Aktivität aus einen Anruf tätigen können. Um einen Anruf zu tätigen, müssen Sie diesen Code in Ihre App eintragen.
quelle
Dies erfordert keine Erlaubnis.
Oder
Es wird jedoch ein weiterer Dialog angezeigt (in dem Sie gefragt werden, ob Sie das Telefon nur einmal oder immer anrufen möchten). Daher ist es besser,
ACTION_CALL
mit einer Berechtigung zu verwenden (siehe Widerrufene Berechtigung android.permission.CALL_PHONE ).quelle
quelle
Wenn jemand in Kotlin sucht
Wie bei einigen anderen Lösungen ist eine
android.permission.CALL_PHONE
Genehmigung erforderlich .quelle