开发者

Android - How to start the exact same activity every time the app is opened up?

开发者 https://www.devze.com 2023-03-28 00:31 出处:网络
In a nutshell, to give you an example, I basically have an app with 3 activities: Activity1 Activity2 StartActivity

In a nutshell, to give you an example, I basically have an app with 3 activities: Activity1 Activity2 StartActivity

StartActivity contains two buttons that correspond to the other two activities respectively, starting them up. If I exit the application from Activity1, when I later click on the app icon from the phone, Activity1 is restarted since Android keeps track of this. I need to have the app restart to bring me to the StartActivity, so that I can choose where to go by clicking the buttons, instead of having to click the back button to be able to end up at the StartActivity. I'm assuming onResume and onRestart开发者_运维百科 are involved, but where should they go?

Any help is greatly appreciated thank you.


You might look at the android:clearTaskOnLaunch activity attribute from the Manifest file : http://developer.android.com/guide/topics/manifest/activity-element.html

I think setting this attribute to "true" on your root activity does what you want.


I would think the solution to be destroying Activity1 and Activity2 onStop. This leaves the stack with only your StartActivity. You can call the finish method in Activity to terminate it programmatically at anytime.


Generally the way it works (from what I understand) is you use the BACK button to EXIT the activity, and the HOME button will essentially "minimize" the activity - bringing you back to whatever activity was left open.

While you should leave this functionality the same, you can override the home button to completely exit your application.


In your mainfest.xml file write like this.

<activity android:name=".StartActivity" android:label="@string/app_name"
                android:clearTaskOnLaunch="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>  

android:clearTaskOnLaunch="true" attribute automatically restart the activity.


Just add the below code into your manifest file into the activity whichever you want t open on start.

<intent-filter>
  <action android:name="android.intent.action.MAIN" />
  <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号