应用程序需要在每次输入时重新启动

时间:2015-08-16 17:23:13

标签: android

我有一个带闪屏的应用程序。它显示我第一次跑,但它再也没有显示。无论如何我每次启动时都会重置应用程序吗?

2 个答案:

答案 0 :(得分:1)

您的问题是,当您的活动进入后台时,您的活动不会被销毁。相反,您的应用程序只是继续在您离开它的地方。想象一下,您在两个活动之间进行切换,在这些情况下,您可能不希望再次显示启动画面。默认情况下,它会继续您的应用程序,直到它在后台终止,例如当记忆力降低时。

但是,如果您真的想要这种行为(我不建议),请在onPause()中调用方法finish()。当您的活动进入后台时,这将终止您当前的实例。

如果您只想在应用启动器图标上显示启动画面,请单击清单中的android:launchMode="singleInstance"选项,Lal在答案中也指出了这一点。要使用启动器图标检测应用程序是否已启动,您可以检查意图。

在第一次开始时,系统会调用onCreate(),在第二次启动时(通过启动器)onNewIntent(Intent intent)将会在那里调用Intent.CATEGORY_LAUNCHER.equal(intent.getAction()),如果您的应用已打开,则可以#include<cs50.h> #include<stdio.h> #include<ctype.h> #include<string.h> #include<stdlib.h> #include<math.h> int main(int argc, string argv[]) { string a = argv[1]; int s = strlen(a); if(s == 0) { printf("No keyword entered\n"); return 1; } for(int k = 0; k < s; k++) { if(!isalpha(a[k])) { printf("keyword not alphabetical\n"); return 1; } } string t = GetString(); int i = 0; int x = 0; int v = 65; for(int n = strlen(t); i < n; i ++) { if(isalpha(t[i])) { if(isupper(t[i])) { if(isupper(t[i])) { if(islower(a[x])) { v = v + 32; } int p = a[x]; p = p -v; int 1 =t[i]; 1 = 1 - 65; int b = (1+ p[s%x]%26; b = b + 65; char c = b; printf("%c", c); x = x+1; } if(islower(t[i])) { int p = a[x]; p = p - v; int 1 = t[i]; 1 = 1-97; int b =(1 +p[s%x]%26; b = b + 97; char c = b; printf("%c", c); x = x + 1; } } else { printf)"%c", t[i]); } } printf('\n'); } 查看发射器与否。

答案 1 :(得分:0)

将splashscreen Activity设置为应用程序的第一个活动,如下所示

AndroidManifest.xml中将此添加到SplashScreen活动

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

<强>更新

android:launchMode="singleInstance"文件中添加AndroidManifest.xml只要您打开一次的活动。