Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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_Eclipse Adt - Fatal编程技术网

具有多个活动的Android应用程序-始终打开同一个

具有多个活动的Android应用程序-始终打开同一个,android,eclipse-adt,Android,Eclipse Adt,我在玩最新的Android SDK(17级),我遇到了一个非常奇怪的问题。我正在尝试创建一个自定义启动器,但除此之外,我的应用程序将包含一些其他应该可以启动的活动 问题出在这里。我使用模拟器运行这个应用程序(使用最新的ADT插件和SDK工具),一切看起来都和我期望的一样。我在laucher中看到了我的3个活动(一个用于我的自定义启动器,另外两个活动各一个,称它们为活动A和活动B) 1) 我启动活动A。活动A打开。 2) 我按了主按钮。 3) 现在我启动活动B,但活动A再次打开 如果我这样做,它会

我在玩最新的Android SDK(17级),我遇到了一个非常奇怪的问题。我正在尝试创建一个自定义启动器,但除此之外,我的应用程序将包含一些其他应该可以启动的活动

问题出在这里。我使用模拟器运行这个应用程序(使用最新的ADT插件和SDK工具),一切看起来都和我期望的一样。我在laucher中看到了我的3个活动(一个用于我的自定义启动器,另外两个活动各一个,称它们为活动A和活动B)

1) 我启动活动A。活动A打开。 2) 我按了主按钮。 3) 现在我启动活动B,但活动A再次打开

如果我这样做,它会起作用:

1) 我启动活动A。活动A打开。 2) 我按了后退按钮。 3) 现在我启动活动B。活动B按预期打开

我相当肯定我的清单文件一定有问题,但我没有看到任何明显的问题。有人看到我做错了什么吗



我认为您应该在活动A的onPause中调用finish()。按back按钮完成活动,而按home按钮则调用onPause。这看起来像是您正在寻找的行为。这可能会起作用-今晚晚些时候我会尝试一下,但我认为我不必在onPause中调用finish(),对吗?根据活动生命周期,您的应用程序运行良好。正如@RaymondP所说,按下home按钮不会关闭活动,所以你必须自己处理(在我的另一个问题中,这个问题是由android解决的:launchMode=“singleTop”只是说它可能是某个人)
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.SET_WALLPAPER" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />

<uses-sdk
    android:minSdkVersion="16"
    android:targetSdkVersion="17" />

<application
    android:icon="@drawable/ic_launcher_home"
    android:label="@string/home_title" >
    <activity
        android:name="com.example.android.home.Home"
        android:launchMode="singleInstance"
        android:stateNotNeeded="true"
        android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.HOME" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.example.android.home.Wallpaper"
        android:icon="@drawable/bg_android_icon"
        android:label="Wallpaper" >
        <intent-filter>
            <action android:name="android.intent.action.SET_WALLPAPER" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.example.android.home.AppWhitelist"
        android:label="@string/title_activity_app_whitelist" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.example.android.home.Paint"
        android:label="@string/title_activity_paint"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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