[英]Make an intent start after a preset amount of time
我希望在預設的不活動時間過后,通過intent
啟動新活動。 我使用下面粘貼的代碼,但它仍然不起作用,它保持在同一個屏幕上。 我知道這不是android-y的方法,但我很確定它應該可行(這對我來說更有意義)。 在旁注中,我是否可以使用它來制作類似文本視圖,按鈕或其他對象的內容,將其可見性從不invisible
變為visible
? 我環顧四周,沒有找到任何答案。 提前致謝。
public class Welcome extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome);
Thread thread = new Thread() {
@Override
public void run() {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
}
runOnUiThread(new Runnable() {
@Override
public void run() {
//do stuff
Intent myIntent = new Intent(Welcome.this,MainActivity.class);
Welcome.this.startActivity(myIntent);
overridePendingTransition(R.anim.push_up_in, R.anim.push_up_out);
}
});
}
};
您可以使用處理程序執行此操作:
new Handler().postDelayed(<your runnable>, delayInMillis);
對於更新小部件,以這種方式執行它並不是一個好主意。 如果延遲不是很大,你最好使用AsyncTask 。
您可以創建一個線程並使其在該時間間隔內休眠。 在那之后,您的新意圖將開始。
例如:-
Thread splashTread = new Thread() {
@Override
public void run() {
try {
int waited = 0;
while(_active && (waited < _splashTime)) {
sleep(100);
if(_active) {
waited += 100;
}
}
} catch(InterruptedException e) {
// do nothing
} finally {
finish();
Intent intent = new Intent(First_Intent.this,Second_Intent.class );
startActivity(intent);
}
}
};
splashTread.start();
}
你可以嘗試這個......
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
Do your thing......
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);
}
}, 3000);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.