2013-02-23 46 views
1

当我开发一个Android应用程序与Min-TargetSDK=3TargetSDK=15按下开启按钮。 此前,我还询问了与我的应用程序有关的问题未被最小化为主屏幕按钮上的最近应用程序。每当我启动我的应用程序,它从登录页面开始,而不是显示上次查看的屏幕。但直到现在我还没有找到解决办法。的onResume()的作品,只有当应用程序通过启动器图标启动除了通过安装

不知怎的,我管理,当用户通过按下home键从应用程序切换到其他一些任务,使最后查看的活动。仍然应用程序未被最小化到最近的应用程序。

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

方案1 - OKAY:

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

在这种情况下,如果用户在使用应用时,点击主页按钮并重新打开使用启动器图标的应用程序,最后查看的屏幕被显示出来。但仍在最近的应用程序列表下列出的应用程序而不是

方案2 - 有问题的:

  1. 通过单击安装后, “打开” 按钮复制到SD卡
  2. 打开APK文件安装我的应用程序。

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

<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> 
+0

我想你应该张贴您的清单XML。 – dmon 2013-02-23 01:35:17

+0

你我都张贴了我的林语堂文件中的问题本身.. – Nandhu 2013-02-23 01:59:27

+1

首先,我不知道为什么你期望一个新的安装后显示最后查看的屏幕。其次,必须有一些条件才能触发登录屏幕(如某些安全上下文不存在?)。你能看看什么可能触发登录屏幕,并将其添加到问题? – 2013-02-23 02:17:33

回答

2

我认为这将适用于你的第二种情况。 你可以在你的第一个活动的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. 
} 
+0

伟大的Karthik ...它完美的工作。你为我节省了很多时间 – Ganesh 2013-07-03 10:12:29

+0

感谢你的回答karthik。我从事其他一些工作。让我试试你的解决方案,并让你知道结果。 – Nandhu 2013-07-11 07:23:13

相关问题