应用程序从最近的应用程序中删除后继续服务

时间:2017-10-23 13:07:36

标签: android android-service

我正在运行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。

提前致谢!

2 个答案:

答案 0 :(得分:0)

您必须在onDestroy课程中实施MainActivity方法。然后停止服务。

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

希望它有所帮助。

答案 1 :(得分:0)

当应用未激活时,您无法显示祝酒词,也许您应该尝试执行其他操作,例如通知。它需要您的应用程序运行才能显示。而且你无法在服务中干杯。