Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 每次都需要运行加载活动_Android_Android Activity_Android Lifecycle - Fatal编程技术网

Android 每次都需要运行加载活动

Android 每次都需要运行加载活动,android,android-activity,android-lifecycle,Android,Android Activity,Android Lifecycle,因此,每次用户打开程序时,我都需要加载一个加载活动。我将加载活动作为清单中的主要活动。如果加载活动成功,它将启动HomeActivity。如果我在HomeActivity中点击后退按钮,当我再次尝试访问应用程序时,它将触发LoadingActivity。如果我在HomeActivity中点击home按钮,启动它将返回HomeActivity,而不返回LoadingActivity 我尝试添加了clearTaskOnLaunch和FinishOnTaskLaunch。我试着捕捉主页按钮,但不起作用

因此,每次用户打开程序时,我都需要加载一个加载活动。我将加载活动作为清单中的主要活动。如果加载活动成功,它将启动HomeActivity。如果我在HomeActivity中点击后退按钮,当我再次尝试访问应用程序时,它将触发LoadingActivity。如果我在HomeActivity中点击home按钮,启动它将返回HomeActivity,而不返回LoadingActivity

我尝试添加了clearTaskOnLaunch和FinishOnTaskLaunch。我试着捕捉主页按钮,但不起作用。我无法在暂停或停止时完成,因为我让HomeActivity启动一个在HomeActivity顶部打开的活动,然后再下拉到它。有什么办法吗?这是清单,还在学习android清单的东西,所以别杀我

<activity
        android:name=".start.LoadingActivity"
        android:screenOrientation="portrait" 
        android:clearTaskOnLaunch="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".HomeActivity"
        android:label="@string/title_activity_home"
        android:screenOrientation="nosensor" 
        >
    </activity>

主页按钮默认功能是转到主页屏幕而不终止活动。安卓用户希望在按下home(主页)按钮后返回应用程序时,能够找到他们所在的屏幕。所以我建议你改变你的设计。但如果你必须按自己的方式去做,这里有一个逻辑你可以使用

每次启动主活动时,在共享首选项中设置一个标志,例如from_main=true。然后,在onPause for main活动中,检查from_main是否为true。如果为真,则调用finish()。如果没有,什么都不要做

现在,当您从主活动启动另一个活动时,请将共享首选项中的标志from_main设置为false


通过这种方式,您现在可以确定是否在从main启动其他活动之前或之后调用onPause。如果是在启动它之前,那么它将不会完成main,您可以返回到它。如果它是在启动之后,那么它将完成主要活动。

我有一些应用程序做同样的设计,就像我的一样,每次加载都需要进行。谢谢你的想法。听起来是个解决这个令人恼火的问题的好主意。