社区
Android
帖子详情
如何确保每次都从固定的进入点启动一个activity
cyliao
2010-05-31 02:44:23
我的程序必须有二个activity,一个是A,一个是B,必须是先启动A,再由A跳到B。但是如果我正常从A启动并切换到B后,按home键,把程序切换到后台,再长按home键把程序切回来。此时退出程序。再长按home键来启动程序,程序会直接从B启动。有什么办法能确保,每次启动时都是从A启动。
...全文
591
11
打赏
收藏
如何确保每次都从固定的进入点启动一个activity
我的程序必须有二个activity,一个是A,一个是B,必须是先启动A,再由A跳到B。但是如果我正常从A启动并切换到B后,按home键,把程序切换到后台,再长按home键把程序切回来。此时退出程序。再长按home键来启动程序,程序会直接从B启动。有什么办法能确保,每次启动时都是从A启动。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cyliao
2010-06-01
打赏
举报
回复
我的操作流程是这样:
1.启动程序
2.从A跳到B
3.按home把程序切到后台
4.长按home把程序切回来
5.退出程序
6.长按home,再从home菜单中启动程序,此时程序直接从B启动
cyliao
2010-06-01
打赏
举报
回复
现在我把manifest文件变成这样也不行
<activity android:name=".A" android:label="@string/app_name" android:clearTaskOnLaunch="true"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".B" android:launchMode="singleTask">
</activity>
我的手机是htm magic
vclongking
2010-05-31
打赏
举报
回复
把B的Activity里面的Intent-Filter去掉试试了
SunZhanwei
2010-05-31
打赏
举报
回复
你的B的那个Activty怎么有红色部分的啊,这个不对吧
<activity android:name=".B" android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
SunZhanwei
2010-05-31
打赏
举报
回复
//这个是调用第二个的activity的代码
public void onClick(View v)
{
Intent intent=new Intent();
intent.setClass(ActivityChange.this, ActivitySecond.class);
startActivity(intent);
}
我的按你的方式测试了,每次都成功啊,你是什么手机?
SunZhanwei
2010-05-31
打赏
举报
回复
这个是我的xml文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="activity.change"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".ActivityChange"
android:launchMode="singleTask"
android:clearTaskOnLaunch="true"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="ActivitySecond"
/>
</application>
</manifest>
cyliao
2010-05-31
打赏
举报
回复
再说明一下,这种情况只会在长按home启动时才会出现,如果从menu的程序列表中启动能够从A启动。
cyliao
2010-05-31
打赏
举报
回复
在manifest中对A,B的设置如下:
<activity android:name=".A" android:label="@string/app_name" android:clearTaskOnLaunch="true"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".B" android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
cyliao
2010-05-31
打赏
举报
回复
SunZhanwei,按你的方法试了一下,还是不行
vclongking
2010-05-31
打赏
举报
回复
没遇到过这情况 , 你Manifest.xml里面主类的Intent-Filter设置了默认的android.intent.action.MAIN , 重启动程序应该不会出现这样的问题吧?!
继续关注 。。。
SunZhanwei
2010-05-31
打赏
举报
回复
在你的启动的主Activity(也就是A)的manifist.xml里面添加如下两行就可以了
android:launchMode="singleTask"
android:clearTaskOnLaunch="true"
传智播客Android面试题30页 精品
传智播客Android面试题30页 精品啊 看看吧
Activity
的
启动
模式
Activity
的
启动
模式本身是
一个
挺难理解的知识
点
,大多数开发者对这个概念的了解可能只限于四种 launchMode 属性值,但
启动
模式其实还需要受 Intent flag 的影响。而且
Activity
启动
模式并不只是单纯地用来
启动
一个
Activity
,实际上还会直接影响到用户的直观感受和使用体验,因为
启动
模式直接就决定了应用的任务栈和返回栈,这都是用户能直接接触到的 本篇文章就来简单介绍下
Activity
的
启动
模式,希望对你有所帮助 ???????? 1、任务栈 任务栈是指用户在执行某项工作
在清单文件中设置
Activity
启动
模式和使用Intent Flag
启动
Activity
的区别和联系,以及他们的对应关系和适用场景
当与 FLAG_
ACTIVITY
_NEW_TASK 一起使用时,
每次
启动
Activity
都会创建
一个
全新的任务栈(Task),即使该
Activity
已经存在于其他任务栈中。FLAG_
ACTIVITY
_MULTIPLE_TASK 允许同
一个
Activity
在系统中以多个任务(Task)的形式并存,常与 FLAG_
ACTIVITY
_NEW_TASK 搭配使用,用于实现多实例、多任务的场景。无论怎么
启动
Main
Activity
,始终只有
一个
实例,且在栈中只存在一份。2. 代码中使用 flag。
《Android》
Activity
生命周期详解
1、什么是
Activity
的生命周期? 用户在使用
一个
应用程序时,随着应用的
启动
、页面的跳转、
进入
后台等一些操作的发生,
Activity
会回调一些
固定
的方法,这些回调方法标识了
Activity
的状态改变,比如创建、销毁、暂停、
进入
后台等等。这就是
Activity
的生命周期。 2、
Activity
生命周期回调方法有哪些? 常用的7个 +
Activity
异常关闭(比如内存不足)2个 = 9个方法 常...
从源码解析-Android中
Activity
启动
流程包含AIDL使用案例和APP
启动
闪屏的缘由
在平时的使用中,我们
启动
一个
Activity
用的最多的方式有两种,一种是在手机桌面
点
击应用icon
启动
应用,即
启动
应用的第
一个
Activity
,也就是在Launcher
启动
Activity
;另一种是在应用内部通过start
Activity
方法
启动
Activity
,今天就对这两种方式进行分析,多进行FrameWork层的分析非常有利于我们平时在应用层开发处理一些棘手的问题 在Launcher启...
Android
80,479
社区成员
91,373
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章