android如何中自动跳转activity
我的意思是:activity1十秒不操作,自动跳转到activity2(类似屏保),但是activity1又是个类似菜单的页面。在activity1中跳转到任意activ...
我的意思是:activity1 十秒不操作,自动跳转到activity2(类似屏保),但是activity1又是个类似菜单的页面。在activity1中跳转到任意activity返回activity1之后依然能完成十秒自动跳转,在线求高手指点!
十秒跳转我已经完成,但是问题有两个:1.从activityN返回acrivity1之后,就不会自动跳转;2.我把跳转代码放到onRestart()里面,从其他activity返回activity1之后确实能跳转,但是BUG也就产生了:activity2会启动两到三次! 展开
十秒跳转我已经完成,但是问题有两个:1.从activityN返回acrivity1之后,就不会自动跳转;2.我把跳转代码放到onRestart()里面,从其他activity返回activity1之后确实能跳转,但是BUG也就产生了:activity2会启动两到三次! 展开
4个回答
展开全部
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();
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();
展开全部
这个有几个原因可能照成
横竖屏切换,让你进行了横竖屏切换,只要你不是在Manifest里面设置,在代码中写了固定横屏他进去都会加载两次界面
多次打开一个界面的话可以给activity2Manifest里面加入android:launchMode="singleTask"这样就不会出现重复界面,就算他跳个几次都只有一个,intent第二个界面的startActivity后面加入overridePendingTransition(0, 0);去掉跳转效果,当然这个是最差的方法
你在线程里面打印下看是否线程开启了多次,如果是这个原因的话在找到为何线程多次启动,没代码无法帮你找,偷懒的话就在线程里面加个flag,
if(flag){
falg = false;
intent .........
} 在onRestart里面把它改会true
更多追问追答
追问
线程试过了,没有多次执行
追答
能贴下你activity的代码吗~~??
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
小盆友,在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上写,只是还得开模拟器,我电脑有点慢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把跳转代码写在onResume里面
更多追问追答
追问
结果是一样,只是省了一点代码 …………
追答
activity2跳转到1时先关闭2在跳转
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询