具有多个活动的Android应用程序-始终打开同一个
我在玩最新的Android SDK(17级),我遇到了一个非常奇怪的问题。我正在尝试创建一个自定义启动器,但除此之外,我的应用程序将包含一些其他应该可以启动的活动 问题出在这里。我使用模拟器运行这个应用程序(使用最新的ADT插件和SDK工具),一切看起来都和我期望的一样。我在laucher中看到了我的3个活动(一个用于我的自定义启动器,另外两个活动各一个,称它们为活动A和活动B) 1) 我启动活动A。活动A打开。 2) 我按了主按钮。 3) 现在我启动活动B,但活动A再次打开 如果我这样做,它会起作用: 1) 我启动活动A。活动A打开。 2) 我按了后退按钮。 3) 现在我启动活动B。活动B按预期打开 我相当肯定我的清单文件一定有问题,但我没有看到任何明显的问题。有人看到我做错了什么吗具有多个活动的Android应用程序-始终打开同一个,android,eclipse-adt,Android,Eclipse Adt,我在玩最新的Android SDK(17级),我遇到了一个非常奇怪的问题。我正在尝试创建一个自定义启动器,但除此之外,我的应用程序将包含一些其他应该可以启动的活动 问题出在这里。我使用模拟器运行这个应用程序(使用最新的ADT插件和SDK工具),一切看起来都和我期望的一样。我在laucher中看到了我的3个活动(一个用于我的自定义启动器,另外两个活动各一个,称它们为活动A和活动B) 1) 我启动活动A。活动A打开。 2) 我按了主按钮。 3) 现在我启动活动B,但活动A再次打开 如果我这样做,它会
我认为您应该在活动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>