我有一个媒体播放器应用程序,我正在尝试处理诸如您接到电话时的事件。我可以让它正常停止并终止服务。然后我需要切换回主要活动,这样当用户完成他们的电话呼叫时,他们可以重新选择要播放的电台。我遇到的问题是,当我使用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);
}
};
答案 0 :(得分:0)
您可以尝试:
showMain.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
showMain.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
context.startActivity(showMain);