簡體   English   中英

從最近的應用程序中刪除應用程序后繼續服務

[英]continuing service after app is removed from recent apps

我正在運行 android 7.0。 我創建了一個在 10 秒后顯示吐司的服務。 即使我在最近的應用程序列表上向右滑動,我也希望它顯示吐司。

這是我的服務的代碼:

public class DelayedMessageService extends IntentService{

    public static final String EXTRA_MESSAGE = "message";
    private Handler handler;

    public DelayedMessageService(){
        super("DelayedMessageService");
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId){
        handler = new Handler();
        return super.onStartCommand(intent, flags, startId);
    }

    @Override
    protected void onHandleIntent(Intent intent) {
        synchronized (this){
            try{
                wait(10000);
            }catch (InterruptedException e){
                e.printStackTrace();
            }
        }
        String text = intent.getStringExtra(EXTRA_MESSAGE);
        showText(text);
    }


    private void showText(final String text){
        handler.post(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show();
            }
        });
    }
}

即使我從最近的應用程序列表中刪除它,我如何讓它顯示 Toast。

提前致謝!

您必須在MainActivity類中實現onDestroy方法。 然后停止你的服務。

@Override
public void onDestroy() {
    Intent myService = new Intent(MainActivity.this, DelayedMessageService.class);
    stopService(myService);
}

希望能幫助到你。

當應用程序未處於活動狀態時,您無法顯示吐司,也許您應該嘗試執行一些其他操作,例如通知。 它需要您的應用程序正在運行才能顯示。 而且你不能在你的服務中舉杯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM