我正在运行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。
提前致谢!
答案 0 :(得分:0)
您必须在onDestroy
课程中实施MainActivity
方法。然后停止服务。
@Override
public void onDestroy() {
Intent myService = new Intent(MainActivity.this, DelayedMessageService.class);
stopService(myService);
}
希望它有所帮助。
答案 1 :(得分:0)
当应用未激活时,您无法显示祝酒词,也许您应该尝试执行其他操作,例如通知。它需要您的应用程序运行才能显示。而且你无法在服务中干杯。