很抱歉,如果之前已经提出这个问题。我想要做的是当应用程序启动闪屏时出现,并在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’)
如果有很多活动,我希望我的主要活动是父活动,如果用户是父活动而用户按回来,则不应出现启动画面。有没有办法通过清单
来做到这一点答案 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)
在Intent
后MainActivity
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)
覆盖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();
}
}