Tôi đang cố gắng để làm cho Service
chạy ở nền trước của mình. Tôi đã cố gắng sử dụng this example (vui lòng tìm phần "Chạy Dịch vụ trong Foreground"), nhưng startForeground()
không thực sự hiển thị thông báo của tôi. Và không có ngoại lệ nào được ném ra. Để làm cho nó hiển thị, tôi cần phải sử dụng NotificationManager
như here giải thích. Với NotificationManager
thông báo của tôi hoạt động, nhưng tôi không chắc chắn rằng Service
của tôi là tiền cảnh sau cuộc gọi "im lặng" này tới startForeground()
.startForeground() không hiển thị Thông báo của tôi
Điều gì có thể sai?
EDIT: Tôi vừa thử nghiệm this sample project phải chứng minh startForeground()
, nhưng nó không hoạt động! Tôi sử dụng API v7.0, tôi đã thử nghiệm cả trên trình giả lập và thiết bị thực (SE Xperia Neo). Thông báo không xuất hiện.
EDIT2: nếu tôi cố gắng gọi setForeground()
thì tôi nhận được cảnh báo setForeground: ignoring old API call
.
Tôi cũng đã cố gắng sử dụng startForegroundCompat()
như được mô tả here, nhưng hiệu quả là tuyệt đối giống nhau. Tôi kiểm tra xem dịch vụ của tôi có tiền cảnh sử dụng ActivityManager.RunningServiceInfo
như được mô tả here không và tôi thấy dịch vụ của tôi là không phải là tiền cảnh.
Vì bạn đã chọn không cung cấp mã nguồn, sẽ rất khó để giúp bạn trực tiếp. [Đây là một dự án mẫu] (https://github.com/commonsguy/cw-android/tree/master/Notifications/FakePlayer) sử dụng 'startForeground()' thành công. – CommonsWare
Tôi không cung cấp mã nguồn vì mã của tôi giống hệt như ví dụ tôi đã cung cấp: http://goo.gl/xXIvc. Cảm ơn dự án mẫu. –
Tôi đã thử nghiệm dự án mẫu này, nó không hoạt động! Tôi sử dụng API v7.0, tôi đã thử nghiệm cả trên trình giả lập và thiết bị thực (SE Xperia Neo). Thông báo không xuất hiện. –