Android 在安卓系统中,一段时间后如何开始活动?
我正在开发android应用程序,因为我想启动另一个应用程序(我的第二个应用程序)。我正在执行以下代码Android 在安卓系统中,一段时间后如何开始活动?,android,android-activity,Android,Android Activity,我正在开发android应用程序,因为我想启动另一个应用程序(我的第二个应用程序)。我正在执行以下代码 Intent i= new Intent(); i.setComponent(new ComponentName("my second app package","my class name")); startActivity(i); 它工作得很好 我想在3秒或5秒后隐藏第二个应用程序,因为我遵循下面的代码 Timer t=new Timer(); t.sch
Intent i= new Intent();
i.setComponent(new ComponentName("my second app package","my class name"));
startActivity(i);
它工作得很好
我想在3秒或5秒后隐藏第二个应用程序,因为我遵循下面的代码
Timer t=new Timer();
t.schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
Intent i = new Intent("first app package","first app class name" );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
}, 5000);
但这段代码并没有像我预期的那样仅在我的第二个应用程序中工作。但其他应用程序运行良好。取而代之的是线程我也尝试了处理程序,alaram管理器也没有成功。请任何人在这方面帮助我
我想在第二个应用程序中更改代码,还是代码有什么问题
谢谢
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// your code to start second activity. Will wait for 3 seconds before calling this method
startActivity(new Intent(FirstActivityClass.this,SecondActivityClass.class));
}
}, 3000);
在创建第一个活动后使用上述代码
在创建第一个活动后使用上述代码尝试以下操作:
try{
Thread.sleep(3000);
startActivity(secondActivityIntent);
}catch(Exception e){
//print error here
}
试试这个:
try{
Thread.sleep(3000);
startActivity(secondActivityIntent);
}catch(Exception e){
//print error here
}
如果希望第二个应用程序在几秒钟后隐藏,请将此代码放入第二个应用程序的主
活动的onCreate()
:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
YourActivity.this.finish();
}
}, 3000);
如果希望第二个应用程序在几秒钟后隐藏,请将此代码放入第二个应用程序的主活动的onCreate()
:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
YourActivity.this.finish();
}
}, 3000);
可以使用thread,但最主要的是必须调用finish()方法来完成当前活动
Thread thread = new Thread( new Runnable() {
@Override
public void run() {
try
{
Thread.sleep(3000);
}
Intent intent = new Intent(1stActivity.this, SecondActivity.class);
startActivity(intent);
}
catch (Exception e) {
e.printStackTrace();
}
finally {
finish();
}
}
});
thread.start();
在try块中,我放置了Thread.sleep(3000),您可以更改它,在try块中执行您的工作您可以使用Thread,但主要的是您必须调用finish()方法来完成当前活动
Thread thread = new Thread( new Runnable() {
@Override
public void run() {
try
{
Thread.sleep(3000);
}
Intent intent = new Intent(1stActivity.this, SecondActivity.class);
startActivity(intent);
}
catch (Exception e) {
e.printStackTrace();
}
finally {
finish();
}
}
});
thread.start();
在try块中,我放置了Thread.sleep(3000),您可以更改它,在try块中执行您的工作
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do something after 100ms
//Intent i = new Intent("first app package","first app class name" );
Intent i = new Intent (this , SecondActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
}, 100);
// Time method
import java.util.Timer;
...
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// Your database code here
}
}, 2*60*1000);
尝试postDelayed或Timer方法
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do something after 100ms
//Intent i = new Intent("first app package","first app class name" );
Intent i = new Intent (this , SecondActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
}, 100);
// Time method
import java.util.Timer;
...
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// Your database code here
}
}, 2*60*1000);
把这段代码放在计时器任务的run方法中。它会工作的。希望对您有所帮助。谢谢
将此代码放在计时器任务的run方法中。它会起作用。希望能有所帮助。谢谢。尝试handler.postDelayed()
尝试过,也没有成功@mdIntent i=(“第一个应用程序包”,“第一个应用程序类名”)代码>这显然无法编译…这是不可能的。你只能终止它的进程。请看我的答案。它会告诉你你缺少什么,而不是给出另一个解决方案。Thanksryhandler.postDelayed()
尝试过,但也没有成功@M DIntent i=(“第一个应用程序包”,“第一个应用程序类名”)代码>这显然无法编译…这是不可能的。你只能扼杀它的进程。看我的答案。它告诉你你缺少什么,而不是给出另一个解决方案。谢谢这也没有成功:(@Krishna:尝试了这个也没有成功
:使用这个答案有什么问题?第二个应用程序活动只在前面。第一个应用程序没有到达前台尝试了这个也没有成功:(@Krishna:尝试了这个也没有成功
:使用这个答案有什么问题?第二个应用程序只在前面活动。第一个应用程序没有进入前台。你是认真的吗?阻止UI线程是你能做的最糟糕的事情。你是认真的吗?阻止UI线程是你能做的最糟糕的事情。谢谢AdnanFine不要使用Thread.sleep,因为它会导致主线程睡眠。因此最好使用Handler()。PostDelayedHanks Adnan工作Fine不要使用Thread.sleep,因为它会导致主线程睡眠。因此最好使用Handler()。postDelayed