Tôi có một ứng dụng, sẽ theo dõi mọi thứ người dùng thực hiện trong ứng dụng iPod. Để làm điều này, tôi đã thêm vài người quan sát vào NSNotificationCenter, như MPMusicPlayerControllerNowPlayingItemDidChangeNotification. Nhưng vấn đề của tôi là, tôi chỉ nhận được các thông báo đó khi ứng dụng của tôi ở nền trước, nếu ở chế độ nền, hệ thống sẽ thêm thông báo vào hàng đợi và sau đó ứng dụng của tôi sẽ hoạt động, nó sẽ gửi cho tôi. Tôi không quan tâm đến hàng đợi này vì tôi muốn nhận thông báo thời gian thực.Nhận thông báo với ứng dụng ở chế độ nền
Có cách nào để tôi nhận các thông báo đó ngay cả khi ứng dụng của tôi ở trạng thái bị tạm ngưng không? Tôi muốn chạy chỉ 3 dòng mã mỗi khi tôi nhận được thông báo NowPlayingItemDidChange này ví dụ.
Đây là nơi tôi thêm người quan sát.
MPMusicPlayerController *iPodMediaPlayer = [MPMusicPlayerController iPodMusicPlayer];
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter addObserver: self selector: @selector(handle_NowPlayingItemChanged:) name:MPMusicPlayerControllerNowPlayingItemDidChangeNotification
object:iPodMediaPlayer];
[iPodMediaPlayer beginGeneratingPlaybackNotifications];
Ngoài ra, nếu tôi thêm một loại đối tượng khác vào người quan sát thay vì iPodMediaPlayer, người quan sát sẽ không gọi phương thức.
Thanks a lot, các ứng dụng
Abras
Vâng, tôi biết chỉ có ba tùy chọn này. Nhưng tôi nghĩ có thể có một cách để đăng ký thông báo trong hệ thống, sau đó ứng dụng của bạn sẽ vào chế độ nền bình thường. Nếu người dùng làm điều gì đó kích hoạt thông báo thì Trung tâm thông báo sẽ đánh thức ứng dụng của bạn chỉ để ứng dụng có thể trả lời thông báo. Sau khi trả lời, nó sẽ trở lại chế độ nền như bình thường. – Abras
@Abras: Bạn có tìm hiểu cách thực hiện việc này không? Tôi có một ứng dụng âm thanh. Và tôi muốn nó nhận được thông báo (khi các ứng dụng âm thanh khác xuất hiện) khi nó ở chế độ nền. Tôi phải làm nó như thế nào? – Namratha
@Abras Bạn đã bao giờ tìm ra điều này chưa? – WMios