Tôi đang cố gắng tạo một dịch vụ xử lý tệp I/O ở chế độ nền. Hoạt động cập nhật dữ liệu sẽ liên kết với dịch vụ và gọi các phương thức của dịch vụ để thực hiện I/O. Tôi đang sử dụng tài liệu Android làm hướng dẫn.
Tuy nhiên, dịch vụ của tôi dường như không muốn bắt đầu. Trong phương thức onCreate() của Hoạt động của tôi, tôi có:
Ý định smsIntent = Ý định mới(this, SurveyManagerService.class);
Chuỗi SurveyFilename = getIntent().getStringExtra("surveyFilename");
System.out.println(startService(smsIntent)); //kiểm tra xem nó có khởi động không
Kết nối SurveyManagerServiceConnection = new SurveyManagerServiceConnection();
sms = connect.getSurveyManagerService();
Trên dòng 3, LogCat xuất ra một đối tượng ComponentInfo, do đó có vẻ như dịch vụ đã được tạo, tuy nhiên, tin nhắn SMS trống. Ngoài ra, có vẻ như phương thức SurveyManagerService onStartCommand() không bao giờ được gọi:
@Ghi đè
public int onStartCommand(Ý định, cờ int, int startId)
{
System.out.println("bắt đầu dịch vụ");
Toast.makeText(cái này, "bắt đầu dịch vụ", Toast.LENGTH_SHORT).show();
openSurveyFromIntent(ý định);
trả lại START_REDELIVER_INTENT;
}
Tôi không bao giờ thấy bất kỳ đầu ra "Bắt đầu dịch vụ" nào trong LogCat và Toast cũng không xuất hiện.
Dịch vụ của tôi được khai báo trong danh sách của tôi là:
Tôi có thiếu điều gì đó hiển nhiên không? Hãy cho tôi biết những thông tin bổ sung mà tôi cần cung cấp để chẩn đoán sự cố.
Hãy nhớ khai báo dịch vụ của bạn trong AndroidManifest.xml
<ứng dụng="">
...
ứng>
Tôi là một lập trình viên xuất sắc, rất giỏi!