2016-07-09 17 views
9

Tôi muốn hiển thị Notification khi ứng dụng của tôi bị xóa khỏi danh sách ứng dụng gần đây.Cách nhận thông báo khi ứng dụng được đóng trong Android

Tôi đã thử đặt mã cho điều đó trong onStop()onDestroy() nhưng không hoạt động. onStop() được gọi ngay sau khi ứng dụng được đóng (mặc dù nó vẫn còn trong danh sách ứng dụng gần đây).

Mọi người có thể cho biết phương pháp nào được gọi khi ứng dụng bị xóa khỏi danh sách ứng dụng gần đây hay bất kỳ cách nào mà nhu cầu này có thể được thực hiện?

Trả lời

11

Khi bạn vuốt một ứng dụng ra khỏi Gần đây, tác vụ của ứng dụng sẽ bị xóa ngay lập tức. Không có phương pháp vòng đời nào được gọi.

Để được thông báo khi điều này xảy ra, bạn có thể bắt đầu dính Service và ghi đè phương thức onTaskRemoved() của nó.

Từ documentation của onTaskRemoved():

này được gọi là nếu dịch vụ hiện đang chạy và người dùng có loại bỏ một công việc xuất phát từ ứng dụng của dịch vụ.

Ví dụ:

public class StickyService extends Service { 
    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     return START_STICKY; 
    } 

    @Nullable 
    @Override 
    public IBinder onBind(Intent intent) { 
     return null; 
    } 

    @Override 
    public void onTaskRemoved(Intent rootIntent) { 
     Log.d(getClass().getName(), "App just got removed from Recents!"); 
    } 
} 

Đăng ký nó trong AndroidManifest.xml:

<service android:name=".yourpackagename.StickyService" /> 

Và bắt đầu từ đó (ví dụ như trong onCreate()):

Intent stickyService = new Intent(this, StickyService.class); 
startService(stickyService); 
+0

Nó hoạt động hoàn hảo ! –

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