2013-01-24 19 views
5

Tôi có một ứng dụng sử dụng máy quay video để màn hình không thể mờ. Ức chế màn hình từ mờ hoạt động tốt như vậy:iOS - setIdleTimerĐã tắt: KHÔNG hoạt động

- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    [[UIApplication sharedApplication] setIdleTimerDisabled:YES]; 
} 

Tuy nhiên khi ứng dụng được đóng và chuyển sang nền, đặt IdleTimer trở về NO không hoạt động. Màn hình luôn ở trên màn hình chính. Đây là cách tôi đang cố gắng để thực hiện điều này.

- (void)applicationWillResignActive:(UIApplication *)application 
{ 
    [[UIApplication sharedApplication] setIdleTimerDisabled:NO]; 
} 

Có nơi nào tốt hơn để thêm dòng mã này không?

+1

này có thể chỉ là một lỗi với dev xây dựng. Tôi có một số ứng dụng buộc màn hình không bị mờ trong khi chúng hoạt động, nhưng tôi chưa từng có khả năng giữ màn hình chính hoặc ứng dụng khác. Cài đặt ứng dụng hầu như luôn luôn là ứng dụng cụ thể để giữ cho hệ thống luôn tinh khiết. –

+0

Bạn đã thử kết nối với Mac và XCode chưa? Tôi nghĩ rằng nếu trường hợp đó, iDevice không phải lúc nào cũng muốn bắt đầu "giấc ngủ" ... – Larme

+0

@Larme, yea đó là suy nghĩ đầu tiên của tôi nhưng tôi chưa biết nó và nó vẫn không mờ. –

Trả lời

0

Tại sao bạn không thử sử dụng mã của bạn trong

applicationWillEnterForeground

phương pháp delegegate.

Hy vọng công việc đó phù hợp với bạn.

9

Sự cố tương tự đã xảy ra với tôi. Trên thực tế nó hoạt động nhưng chỉ hoạt động khi thiết bị của bạn không được kết nối với xCode. Thử ngắt kết nối thiết bị và sau đó kiểm tra chức năng này.

+0

Tôi dành cả ngày cố gắng tìm ra vấn đề nhưng đó là vì xcode. bạn đã cứu mạng tôi. –

-1

Swift phiên bản:

public func applicationWillResignActive(application: UIApplication) { 
    UIApplication.sharedApplication().idleTimerDisabled = false 
} 


public func applicationDidBecomeActive(application: UIApplication) { 
    UIApplication.sharedApplication().idleTimerDisabled = true 
}