android中的活动流程

时间:2016-07-28 06:23:31

标签: android android-activity splash-screen intentfilter

很抱歉,如果之前已经提出这个问题。我想要做的是当应用程序启动闪屏时出现,并在3秒后运行我的splash screen。但当我按下后退按钮时,它会在启动画面上再次返回我。所以我的问题是我如何控制活动流程,以便它不会再来manifest file <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> </activity> <activity android:name=".SplashScreen"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> 以下是我的

import requests

from bs4 import BeautifulSoup 
r = requests.get(‘hereiswhereiputmyurl’)
soup = BeautifulSoup(r.content, ‘xml’)

如果有很多活动,我希望我的主要活动是父活动,如果用户是父活动而用户按回来,则不应出现启动画面。有没有办法通过清单

来做到这一点

10 个答案:

答案 0 :(得分:5)

你必须完成SplashActivity。

Intent i = new Intent(SplashActivity.this, MainActivity.class);
startActivity(i);
finish();

答案 1 :(得分:2)

当您转到主要活动时,只需完成启动活动。

               // Start your app main activity
                Intent i = new Intent(SplashScreen.this, MainActivity.class);
                startActivity(i);

                // close this activity
                finish();

答案 2 :(得分:2)

最简单的解决方案是:在manifest.xml中设置 android:noHistory =“true”

<activity android:name=".SplashScreen"
          android:noHistory="true" 
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

答案 3 :(得分:1)

在显示“启动画面”屏幕后立即放置finish(),然后按“返回”按钮,它将不会返回到之前的活动。

  

完成():   在您的活动完成后调用此选项并应关闭。 ActivityResult会传播回通过onActivityResult()启动你的人。

代码段:

Intent intent = new Intent(SplashActivity.this, MainActivity.class);
startActivity(intent);
finish();

答案 4 :(得分:0)

IntentMainActivity startActivity(intent)后,finish();写一下public class SplashActivity extends AppCompatActivity { // Splash screen timer private static final int SPLASH_TIME_OUT = 3000; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash_screen); new Handler().postDelayed(new Runnable() { /* * Showing splash screen with a timer. This will be useful when you * want to show case your app logo / company */ @Override public void run() { // This method will be executed once the timer is over // Start your app main activity Intent i = new Intent(SplashActivity.this, HomeMainActivity.class); startActivity(i); // close instance of this activity this.finish(); } }, SPLASH_TIME_OUT); }}

答案 5 :(得分:0)

你可以这样做。:

MainActivity

答案 6 :(得分:0)

当您通过意图移动到SplashActivity时,请完成Intent intent = new Intent(SplashActivity.this, MainActivity.class); startActivity(intent); finish(); ,例如:

{{1}}

答案 7 :(得分:0)

@FaisalAhmed

在您完成活动的mainActivity覆盖方法onBackPressed()中。

@Override
public void onBackPressed() {
    this.finish();
}

答案 8 :(得分:0)

SplashScreen中的

覆盖menthod onStop:

@Override
 public void onStop() {
     finish();
    }

当您单击MainAcyivity中的后退按钮时,应用程序将退出。 此外,你可以处理menthod onBackPressed MainActivity。

答案 9 :(得分:0)

@Override 
public void onBackPressed() {
    if (yourLayout.canGoBack()) {
        yourlayout.goBack();
    } 
    else {
        super.onBackPressed();
    }
}