Tôi đang cố triển khai giao diện người dùng xử lý cuộc gọi điện thoại của riêng mình.Cách chấp nhận cuộc gọi đến bằng cách nhấp vào nút?
Điều tôi muốn làm là, nếu có cuộc gọi đến, số điện thoại đến và hình ảnh sẽ hiển thị, và nếu tôi nhấn một nút, cuộc gọi đến sẽ được chấp nhận/trả lời.
Mã liên quan là:
@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);
}
});
Đáng buồn thay, các mã không hoạt động. Lúc đầu, một ngoại lệ được ném nếu tôi bấm nút trả lời của tôi:
ActivityNotFoundException: Không Hoạt động phát hiện để xử lý Ý định {
hành động = android.intent.action.ANSWER
Sau đó, tôi đã thêm một mục nhập trong AndroidManifest.xml:
<uses-permission android:name="android.permission.CALL_PHONE" />
Tôi chạy lại ứng dụng, không còn ngoại lệ nữa. Tuy nhiên, tôi nghi ngờ cuộc gọi đến không thực sự được chấp nhận. Bởi vì nếu nhấn nút trả lời màn hình của Android (nút màu xanh lá cây), cuộc gọi đến được chấp nhận và biểu tượng cuộc gọi màu xanh lá cây cũng được hiển thị ở góc trên bên trái của màn hình trình mô phỏng, trong khi ứng dụng của tôi thì không.
Tôi cũng đọc mã nguồn của ứng dụng Điện thoại trong nguồn Android. Có phương thức như acceptCall() trong lớp Phone. Nhưng những mã có vẻ khó khăn cho tôi để sử dụng, bởi vì có rất nhiều tuyên bố nhập khẩu trong các mã, chẳng hạn như:
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;
Và, nếu tôi thêm các hàng nhập khẩu trong mã của tôi, sẽ có quá nhiều lỗi, chẳng hạn như :
The import com.android.internal.telephony cannot be resolved
.
Cách nào đúng và đơn giản cho vấn đề của tôi?
thấy liên kết: [http://mylifewithandroid.blogspot.com/2008/01/phonecalls.html](http://mylifewithandroid.blogspot. com/2008/01/phonecalls.html) –