cuốn sách gpt4 ai đã làm

Dịch vụ Android onStartCommand không bao giờ được gọi

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 21:58:41 26 4
mua khóa gpt4 Nike

tôi nhận thấy Dịch vụ.START_STICKY Không hoạt động, khi nhìn kỹ hơn tôi thấy onCreate() đang chạy nhưng onStartCommand không được gọi.

Có ý tưởng gì không?

    @Ghi đè
khoảng trống công khai trênCreate() {

mGlobalData = GlobalData.getInstance();
mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

nếu (mTimer == null)
mTimer = Bộ hẹn giờ mới();

Log.e(TAG, "onCreate()");
}

@Ghi đè
public int onStartCommand(Ý định, cờ int, int startId) {
int t = START_STICKY;
Log.e(TAG, "gọi tôi là dịch vụ BABY dư thừa! onStartCommand");

// Chúng tôi muốn dịch vụ này tiếp tục chạy cho đến khi nó được xác nhận rõ ràng
// đã dừng nên trả về dính.
trả lại t;
}

câu trả lời hay nhất

Nếu bạn cũng ở trong hoàn cảnh giống tôi, tôi Dịch vụ Đang hoạt động bình thường (onCreate()onServiceConnected() đều được gọi) nhưng onStartCommand(Ý định,int) chưa bao giờ được gọi. Tôi phát hiện ra rằng đó là do hệ thống đã khởi độngDịch vụ, thay vào đó tôi đã kích hoạt nó một cách rõ ràng trong mã của mìnhDịch vụ. theotài liệu :

[onStartCommand(Ý định,int) is] được hệ thống gọi mỗi khi khách hàng khởi động dịch vụ một cách rõ ràng bằng cách gọi startService(Ý định)

Vì vậy tôi đã phải gọi mã một cách rõ ràng startService(ý định mới(bối cảnh, MyService.class)) để kích hoạt onStartCommand(Ý định,int). Lưu ý rằng việc thực hiện này sẽ không khởi động lại dịch vụ do hệ thống tạo cũng như không tạo phiên bản mới của dịch vụ.

Về dịch vụ Android onStartCommand chưa bao giờ được gọi, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/12928767/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress