startActivity()但不显示它

时间:2012-03-16 01:45:33

标签: android

我有一个媒体播放器应用程序,我正在尝试处理诸如您接到电话时的事件。我可以让它正常停止并终止服务。然后我需要切换回主要活动,这样当用户完成他们的电话呼叫时,他们可以重新选择要播放的电台。我遇到的问题是,当我使用startActivity(intent)切换活动时,它会显示在电话拨号器前面 - 这不是一个好的用户体验。 那么如何让我的应用重置回正确的活动,而不会在另一个应用程序前显示?

private BroadcastReceiver phoneReceiver = new BroadcastReceiver()
{

    @Override
    public void onReceive(Context context, Intent intent)
    {
        //stop the play service
        Intent stopPlayingService = new Intent(context, Play.class);
        stopService(stopPlayingService);
        //switch back to the main screen
        Intent showMain = new Intent(context, MouseWorldRadioActivity.class);
        showMain.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        //showMain.addFlags(Intent.);  not sure whats needed here
        startActivity(showMain);

    }

};

1 个答案:

答案 0 :(得分:0)

您可以尝试:

 showMain.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 showMain.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
 context.startActivity(showMain);