2012-01-20 41 views
6

Làm thế nào để dừng ứng dụng chạy ở chế độ nền trong Android? Tôi muốn ứng dụng của tôi bắt đầu mỗi khi tải. Làm thế nào để làm điều đó theo chương trình.Dừng ứng dụng chạy trong nền?

+0

hãy làm rõ nó –

+0

Vui lòng cho tôi biết tóm tắt về câu hỏi của bạn. – Lucifer

+0

thử bài này http://stackoverflow.com/questions/7426751/how-to-close-stop-running-application-on-background-android nó có thể giúp bạn. – Ajay

Trả lời

6

Override onStop phương pháp hoạt động của bạn:

@Override 
public void onStop(){ 
    super.onStop(); 
    finish(); 
} 

Nhưng tôi nghĩ đó là một ý tưởng tồi để khởi động lại ứng dụng của bạn mỗi lần. Tốt hơn là ghi đè phương thức onStart và xử lý "khởi động lại" tại đây.

Thực tế, ứng dụng của bạn không "chạy" ở chế độ nền. Hệ điều hành Android giữ nó trong bộ nhớ, hoặc lưu trạng thái của hoạt động của bạn vào thiết bị (và sau đó bạn có thể tải nó, sử dụng savedInstanceState param trong phương pháp onCreate).

+0

Thao tác này sẽ hủy hoạt động khi người dùng tạm ngưng điện thoại hoặc khi rời khỏi hoạt động. –

+0

@ MarkGjøl, tôi nghĩ đây là những gì anh ta muốn. Tuy nhiên đó là ý tưởng tồi) –

+1

Đó cũng là những gì tôi hiểu trong Wht OP hỏi. Đó là câu trả lời cho câu hỏi, nhưng đó là thực hành không tốt. Toàn bộ hệ sinh thái Android dựa trên thực tế là người dùng không phải lo lắng về việc "chấm dứt" hoặc "bắt đầu từ đầu" một ứng dụng. – Guillaume

7

Bạn có thể sử dụng onResume sự kiện để tải lại, hoặc look here.

EDIT:

Trên thực tế bạn cần phải sử dụng các chức năng này để tải lại ứng dụng của bạn khi người dùng di chuyển nó. enter image description here

4

Sau khi thêm kết thúc();

Mã này sẽ dừng hoàn toàn ứng dụng.

System.runFinalizersOnExit(true); 
System.exit(0); 
android.os.Process.killProcess(android.os.Process.myPid()); 
0

bạn nên tận dụng Intent.FLAG_ACTIVITY_CLEAR_TOP để kết thúc tất cả các hoạt động khác chạy trong hồ bơi hoạt động và gọi hoạt động đầu tiên, nơi bạn có thể yêu cầu để thoát khỏi ứng dụng

2

Hệ sinh thái Android toàn dựa trên thực tế là người dùng không phải lo lắng về việc "chấm dứt" hoặc "bắt đầu từ đầu" một ứng dụng. Nếu bạn cần phải bắt đầu ứng dụng của bạn từ đầu mỗi lần, đó có thể là vì bạn có nhiệm vụ trong "đầu" của bạn mà không nên có, và có lẽ nên ở đâu đó trong onResume.

Vui lòng cung cấp cho chúng tôi thêm chi tiết nếu bạn muốn có câu trả lời chi tiết hơn.

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