Android: How to make launcher always open the main activity instead of child activity? (or otherwise)
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 initia开发者_Go百科lizes 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?
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.
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))
精彩评论