android如何中自动跳转activity

我的意思是:activity1十秒不操作,自动跳转到activity2(类似屏保),但是activity1又是个类似菜单的页面。在activity1中跳转到任意activ... 我的意思是:activity1 十秒不操作,自动跳转到activity2(类似屏保),但是activity1又是个类似菜单的页面。在activity1中跳转到任意activity返回activity1之后依然能完成十秒自动跳转,在线求高手指点!
十秒跳转我已经完成,但是问题有两个:1.从activityN返回acrivity1之后,就不会自动跳转;2.我把跳转代码放到onRestart()里面,从其他activity返回activity1之后确实能跳转,但是BUG也就产生了:activity2会启动两到三次!
展开
 我来答
半塘无水
推荐于2016-11-02 · TA获得超过2.2万个赞
知道大有可为答主
回答量:4220
采纳率:68%
帮助的人:878万
展开全部
android中自动跳转activity的方法为:
1、在onCreate里设置个Timer,然后建立Intent指向要调用Activity。
2、设置Timer 10妙后执行startActivity就行了。
3、示例代码:
final Intent it = new Intent(this, Activity1.class); //你要转向的Activity
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
startActivity(it); //执行
}
};
timer.schedule(task, 1000 * 10); //10秒后
4、也可以用线程控制
int _splashTime = 3000;
Thread splashTread = new Thread() {
@Override
public void run() {
try {
int waited = 0;
while(waited < _splashTime) {
sleep(100);
waited += 100;
}
} catch(InterruptedException e) {
// do nothing
} finally {
finish();
// 启动主应用
Intent intent = new Intent();
intent.setClass(this, Activity1.class);
startActivity(intent);
stop();
}
}
};
splashTread.start();
火神朱雀
推荐于2016-02-20 · TA获得超过334个赞
知道小有建树答主
回答量:276
采纳率:100%
帮助的人:269万
展开全部

这个有几个原因可能照成

  1. 横竖屏切换,让你进行了横竖屏切换,只要你不是在Manifest里面设置,在代码中写了固定横屏他进去都会加载两次界面

  2. 多次打开一个界面的话可以给activity2Manifest里面加入android:launchMode="singleTask"这样就不会出现重复界面,就算他跳个几次都只有一个,intent第二个界面的startActivity后面加入overridePendingTransition(0, 0);去掉跳转效果,当然这个是最差的方法

  3. 你在线程里面打印下看是否线程开启了多次,如果是这个原因的话在找到为何线程多次启动,没代码无法帮你找,偷懒的话就在线程里面加个flag,

    if(flag){

        falg = false;

        intent .........

    } 在onRestart里面把它改会true

更多追问追答
追问
线程试过了,没有多次执行
追答
能贴下你activity的代码吗~~??
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7e60612
2013-06-04
知道答主
回答量:14
采纳率:0%
帮助的人:11.2万
展开全部
小盆友,在onresume中新开启一个线程,执行Intent跳转就行了,或者在onresume中写一个Handler来实现跳转。这样不行吗?
更多追问追答
追问
举个例子行吗?
我是初学者,最好能弄点代码来
最好最好是能弄监控屏幕未点击,十秒后跳转页面的代码,跪求~!
追答
Handler handler = new Handler();

handler.postDelay(new Runnable(){
public void run(){
Intent i = new Intent(Main.this, 下一个类);

Main.this.startActivity(intent);

}

}10000);
上边是我手写的,可能会写错,你改改把上边这个放进onresume中试试,看看行不?
不是我不在自己的eclipse上写,只是还得开模拟器,我电脑有点慢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
android囧
2013-06-04
知道答主
回答量:53
采纳率:0%
帮助的人:20.5万
展开全部
把跳转代码写在onResume里面
更多追问追答
追问
结果是一样,只是省了一点代码 …………
追答
activity2跳转到1时先关闭2在跳转
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式