2013-07-11 32 views
5

Tôi có một ứng dụng kiểu trình khởi chạy. Khi người dùng khởi chạy ứng dụng, đồng hồ bắt đầu tích tắc và sau một khoảng thời gian nhất định, người dùng sẽ được đưa trở lại hoạt động chính của ứng dụng của tôi và thông báo rằng thời gian đã hết.Bắt buộc hoạt động của tôi trở thành tiền cảnh?

Để đạt được điều này, tôi có AsyncTask có doInBackground thường xuyên kiểm tra lượng thời gian đã trôi qua (phần này hoạt động tốt). Sau đó:

protected void onPostExecute(String s) { 
     super.onPostExecute(s); 
     Intent intent = new Intent(getApplicationContext(), HomeScreenMain.class); 
     intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
     startActivity(intent); 
    } 

Vấn đề duy nhất với điều này là nó giữ ứng dụng của tôi chạy ngầm, mặc dù tôi cho rằng hoạt động thích hợp được khởi chạy. Vì vậy, câu hỏi của tôi là, làm thế nào, khi thời gian đã hết hạn, tôi có thể không chỉ bắt đầu hoạt động này mà còn mang nó đến nền trước trên bất kỳ ứng dụng nào mà người dùng có thể đã khởi chạy từ bên trong ứng dụng của tôi không?

+2

Bạn có muốn đăng giải pháp của mình dưới dạng câu trả lời cho câu hỏi của bạn (và có thể chấp nhận câu hỏi này) để những người khác sẽ xem câu trả lời là "đã trả lời". Bạn thậm chí có thể nhận được một số upvotes ;-) – eskatos

+0

làm thế nào về gọi onResume? Tôi chuông nó sẽ mang lại cho các ứng dụng ở phía trước nhưng tôi không coi đây là một ý tưởng tốt kể từ khi ứng dụng của bạn có thể bật lên bất cứ lúc nào. –

Trả lời

0

Thay thế mã ban đầu của tôi với những điều sau đây:

protected void onPostExecute(String s) { 
    super.onPostExecute(s); 
    Intent intent = new Intent(); 
    intent.setClass(HomeScreenMain.this, HomeScreenMain.class); 
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    getApplicationContext().startActivity(intent); 
} 

đã làm các trick.

Các vấn đề liên quan