gpt4 book ai didi

android - onResume() 仅在应用程序通过启动器图标启动时有效,而不是在安装时按打开按钮

转载 作者:行者123 更新时间:2023-11-29 21:48:43 26 4
gpt4 key购买 nike

我正在使用 Min-TargetSDK=3TargetSDK=15 开发一个安卓应用。之前我也问过与我的应用程序相关的问题,该问题在按下主页按钮时没有最小化为最近的应用程序。每当我启动我的应用程序时,它都会从登录页面开始,而不是显示上次查看的屏幕。但直到现在我都没有找到解决办法。

当用户通过按下主页按钮从应用程序切换到其他任务时,我以某种方式设法带来了上次查看的 Activity 。静止应用程序未最小化为最近使用的应用程序。

现在我面临一些不同的问题:

场景 1 - OK:

  1. 从复制到 SD 卡的 apk 文件安装我的应用
  2. 安装后点击完成
  3. 然后单击启动器图标将其打开。

在这种情况下,如果用户在使用该应用时单击主页按钮并使用启动器图标重新打开该应用,则会显示上次查看的屏幕。但应用程序列在“最近使用的应用程序”列表中。

场景 2 - 问题:

  1. 从复制到 SD 卡的 apk 文件安装我的应用
  2. 安装后点击“打开”按钮打开它。

在这种情况下,如果用户在使用应用时单击主页按钮并使用启动器图标重新打开应用,则上次查看的屏幕不会显示。相反,它从登录页面开始。此外,应用程序未在最近的应用程序列表中列出。这是我的 list 文件:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.net.elderlyhealth"
android:versionCode="1"
android:versionName="1.0" >

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

<uses-permission android:name="android.permission.CALL_PHONE"/>

<uses-sdk android:minSdkVersion="3"
android:targetSdkVersion="15"/>

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >

<activity
android:name=".ElderlyActivity" android:alwaysRetainTaskState="true"
android:label="@string/title_activity_elderly" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

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


<activity android:name=".account.LoginPage" />
<activity android:name=".account.SignupPage" />
<activity android:name=".account.RoleNavigator" />
<activity android:name=".account.CreateRoleActivity" />
<activity android:name=".account.RoleAdmin"/>
<receiver android:name=".server.AlarmReceiver"></receiver>

</application>

</manifest>

最佳答案

我认为这适用于您的第二种情况。您可以在第一个 Activity 的 onCreate() 中检查标志 FLAG_ACTIVITY_BROUGHT_TO_FRONT,如果已设置则结束。

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
// Here activity is brought to front, not created,
// so finishing this will get you to the last viewed activity
finish();
return;
}

// Regular code.
}

关于android - onResume() 仅在应用程序通过启动器图标启动时有效,而不是在安装时按打开按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15035993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com