Tôi cần sử dụng trình nghe nhàn rỗi để nghe người dùng đang sử dụng ứng dụng hoặc không hoạt động khi hoạt động còn hoạt động. Tôi cần phải làm điều gì đó khi người dùng không sử dụng ứng dụng hơn mười giây. Làm cách nào để tôi có thể thực hiện?Tôi làm cách nào để có trình nghe không hoạt động trên màn hình?
6
A
Trả lời
7
Dưới đây là ý tưởng làm thế nào bạn có thể đạt được nhiệm vụ này:
Trước hết bạn cần một Runnable(), mà sẽ được chạy khi thời gian chờ của bạn (ví dụ 10 sec.) Xảy ra. Dưới đây là Runnable():
private Runnable DoOnTimeOut = new Runnable()
{
public void run()
{
// Do something Here
}
}
Bây giờ, trong hoạt động của bạn, bạn có thể gọi postDelayed cho DoOnTimeOut:
Handler hl_timeout = new Handler();
@Override
public void onCreate(Bundle b)
{
hl_timeout.postDelayed(DoOnTimeOut, 10000); // The DoOnTimOut will be triggered after 10sec
}
Bây giờ, phần quan trọng nhất là khi bạn nhìn thấy tương tác người dùng, bạn muốn để hủy cuộc gọi đến DoOnTimeOut và sau đó đặt lại cuộc gọi trong 10 giây tiếp theo. Đây là phương pháp Ghi đè hoạt động của bạn cho tương tác của người dùng:
@Override
public void onUserInteraction()
{
super.onUserInteraction();
//Remove any previous callback
hl_timeout.removeCallbacks(DoOnTimeOut);
hl_timeout.postDelayed(DoOnTimeOut, 10000);
}
Tôi hy vọng nó sẽ hữu ích cho bạn.
câu trả lời hay, bạn đã lưu ngày của mình! Cảm ơn – Ale