在我的android应用程序中,我有一个名为 A 的活动。从 A 中,我调用了一个后台服务。在该服务onStartCommand
中,我将做一些AsyncTask
,并提出了转移到另一个活动B的意图。我受困的地方是
1。。调用Intent后如何停止服务本身?
编辑:我尝试致电StopSelf();
,但没有结束我的服务。
2。。到达B后,后退按钮将不起作用。目前,如果按后退按钮,我仍然可以转到活动A。
我的意图
Intent dialogIntent = new Intent(UserLoginValidationService.this,SplashScreen.class);
dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
dialogIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
stopSelf();
startActivity(dialogIntent);
编辑:如何在服务中致电finishAffinity();
?
感谢您的帮助。
答案 0 :(得分:7)
这可能是最好的方法。
注意::在Activity onDestroy()方法中注销BroadcastReceiver。
stopSelf()确实停止了服务,但是可能花费很少的时间。您可以通过登录onDestroy()服务方法来对其进行交叉检查。
答案 1 :(得分:1)
1。调用Intent后如何停止服务本身?
您可以使用stopSelf()
停止服务。
2。到达B后,后退按钮将不起作用。目前,如果按后退按钮,我仍然可以转到活动A。
如果要按后退按钮关闭应用程序,则应在“活动B”中打开以清除先前的活动。