Android: How to make launcher always open the main

2019-03-13 07:45发布

I have activities A and B. The A is the one with LAUNCHER intent-filter (i.e. the activity that is started when we click the app icon on home screen).

A launches B using startActivity(new Intent(A.this, B.class)).

When the user has the B activity open, and then put my application into the background, and later my application's process is killed, when the user starts my application again, B is opened instead of A.

This caused a force close in my app, because A is the activity that initializes the resources my app needs, and when B tried to access the uninitialized resources, B crashes.

Do you have any suggestions what should I do in this situation?

2条回答
贼婆χ
2楼-- · 2019-03-13 08:22

Have you tried setting Flag FLAG_ACTIVITY_NEW_TASK while creating intent. In your case please try startActivity(new Intent(A.this, B.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK))

查看更多
Juvenile、少年°
3楼-- · 2019-03-13 08:29

Well you should really have activity B initialize your resources too. But you can put android:clearTaskOnLaunch="true" in your manifest for activity A to have the launcher always go to that activity.

查看更多
登录 后发表回答