我已经搜索了stackoverflow网站,但遗憾的是所有答案都不适用于我。 由于某些原因,如果后台服务仍然在运行,当用户按“返回”按钮返回主屏幕时,我希望活动不会被销毁。
应用正常工作流程如: 启动画面 - >主要活动
按下后退按钮,然后重新打开应用程序,工作流程如下: 启动画面 - >主要活动,活动的状态不像回到主屏幕之前(这不是我想要的)
按下主页按钮,然后重新打开应用程序,工作流程如下: 主要活动,活动状态,如回到主屏幕之前(这就是我想要的)
知道如何获得2?我知道在2,活动没有被破坏,只是被暂停或停止,但是如何覆盖后退按钮让它像按下主页按钮一样?
按照某人的想法,在onBackPressed中使用moveTaskToBack,工作流仍然是1。
以下是我尝试过的代码,
public class SimpleActivity extends AppCompatActivity{
.....
.....
@Override
public void onBackPressed() {
super.onBackPressed();
moveTaskToBack(true);
}
@Override
protected void onDestroy() {
super.onDestroy();
Toast.makeText(this, "onDestroy", Toast.LENGTH_LONG).show();
if (musicPlayService!=null||serviceBinder)
unbindService(serviceConnection);
PlaylistFragment.checkBoxFlag=false;
unregisterReceiver(detectHeadset);
}
答案 0 :(得分:0)
试试这个:
@Override
public void onBackPressed() {
Intent i= new Intent(Intent.ACTION_MAIN);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addCategory(Intent.CATEGORY_HOME);
startActivity(i);
}
答案 1 :(得分:0)
尝试删除 super.onBackPressed()
NumberFormatException