Ich versuche, meine eigene Telefonanruf-Benutzeroberfläche zu implementieren.Wie Sie einen eingehenden Anruf annehmen, indem Sie auf eine Schaltfläche klicken?
Ich möchte, wenn ein Anruf eingeht, die eingehende Telefonnummer und ein Bild angezeigt werden, und wenn ich einen Knopf drücke, wird der eingehende Anruf angenommen/beantwortet.
Der entsprechende Code ist:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
answerButton = (Button) findViewById(R.id.pickup);
answerButton.setOnClickListener(new OnClickListener() {
public void onClick(final View v) {
Intent intent = new Intent("android.intent.action.ANSWER");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
});
Leider funktioniert der Code nicht. Zunächst wird eine Ausnahme ausgelöst, wenn ich meine Antwort-Taste drücken:
ActivityNotFoundException: Keine Aktivität Intent zu handhaben gefunden {
act = android.intent.action.ANSWER
Dann habe ich eine Eintrag im AndroidManifest.xml:
<uses-permission android:name="android.permission.CALL_PHONE" />
Ich führe die App wieder, es gibt keine Ausnahme mehr. Ich bezweifle jedoch, dass der eingehende Anruf nicht wirklich akzeptiert wird. Denn wenn die Android-Bildschirmannahmetaste (grüne Taste) gedrückt wird, wird der eingehende Anruf angenommen und ein grünes Anrufsymbol wird auch in der oberen linken Ecke des Emulatorbildschirms angezeigt, während dies bei meiner App nicht der Fall ist.
Ich lese auch den Quellcode der Phone App in Android-Quelle. In der Phone-Klasse gibt es Methoden wie acceptCall(). Aber diese Codes scheinen schwierig für mich zu gebrauchen, weil es viele Import Erklärung im Code ist, wie zum Beispiel:
import com.android.internal.telephony.Call;
import com.android.internal.telephony.CallStateException;
import com.android.internal.telephony.CallerInfo;
import com.android.internal.telephony.CallerInfoAsyncQuery;
import com.android.internal.telephony.Connection;
import com.android.internal.telephony.MmiCode;
import com.android.internal.telephony.Phone;
Und wenn ich diese Importe in meinem Code hinzufügen, wird es auch sein, viele Fehler, wie zum Beispiel :
The import com.android.internal.telephony cannot be resolved
.
Was ist der richtige und einfache Weg für mein Problem?
siehe Link: [http://mylifewithandroid.blogspot.com/2008/01/phonecalls.html](http://mylifewithandroid.blogspot. com/2008/01/Telefonanrufe.html) –