【发布时间】:2014-01-15 19:49:50
【问题描述】:
按下主页键后,我真的有 Activity 启动的东西。假设我有三个 A、B、C 活动,并且我禁用了设备上的后按。假设 A 是我的主要启动器活动,我从 A 移动到 B 和 B 到 C 并按下主页键并再次单击图标然后它总是启动作为启动器的 A。但是我不希望这样,当在 C 上按 home 键然后单击图标应该总是以 C Activity 开始。如果我在 B Activity 上按 Home 键,那么总是想在单击图标时打开 B Activity。这个怎么做。
关于安装完成时我不明白的另一件事,它有两个选项 DONE 和 OPEN。因此,当按下 Done 时,它可以在当前 Activity 的 home 按键上正常工作,但是当以 OPEN 启动时,它总是启动 A Activity,在任何 Current Activity 按下 home 键后,它总是启动 A Activity。
如何解决这个问题?谢谢大家
Manifest.xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sunil.apiv2map"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.sendmyposition.A"
android:configChanges="orientation|keyboardHidden|screenSize" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.sendmyposition.B"
android:configChanges="orientation|keyboardHidden|screenSize" >
</activity>
<activity
android:name="com.example.sendmyposition.C"
android:configChanges="orientation|keyboardHidden|screenSize" >
</activity>
</application>
</manifest>
调用活动 A 到 B
Intent intent = new Intent(A.this, B.class)
startActivity(intent);
finish()
并调用 B 到 C
Intent intent = new Intent(B.this, C.class)
startActivity(intent);
【问题讨论】:
-
您在应用中使用“singleinstance”还是“singletask”启动模式?如果是,它会导致您的主要活动,在您的情况下为 A 活动,将始终被带到活动的顶部。
-
无论如何都不行
-
您在 B 或 C 活动中调用完成吗?以及您提到的第二件事,如果您在安装后单击“打开”,它会打开您的应用程序的一个实例,然后当您打开活动时通过启动器图标,它会打开您应用程序的不同实例.. 显示您的清单文件和一些代码,也许它是您代码中的内容..
-
如果在 B 和 C 中调用完成会发生什么,如果在 B 和 C 中没有调用完成会发生什么
-
如果您调用完成,该活动,例如 B,将被杀死/结束,因此当您打开应用程序时,A 活动将出现,因为 B 已经被杀死。如果您不使用完成,则应将您的活动放在前面。
标签: android android-activity android-homebutton