如何在一定时间后调用另一个活动
本文关键字:调用 另一个 活动 定时间 | 更新日期: 2023-09-27 18:11:32
在这一刻我尝试创建一个Android电视应用程序。
例如,我有3个活动。我想在10秒后开始另一项活动。如何使用Android C#
创建此文件?
Activity 1
---------- (after 10 sec) ->
Activity 2
---------- (after 10 sec) ->
Activity 3
---------- (after 10 sec) -> AGAIN to Activity 1
解决这个问题的最好方法是什么?
我已经找到了一个解决方案。你必须使用Threading.
new Thread(new ThreadStart(() =>
{
Thread.Sleep(10000);
RunOnUiThread(() =>
{
Intent i = new Intent();
i.SetClass(this, typeof(Activity2));
StartActivity(i);
this.Finish();
});
})).Start();
您可以使用AlaramManager来设置活动何时调用的时间。
Intent intentA=new Intent(context, A.class);
pendingIntent=PendingIntent.getBroadcast(this, 0, intentA, 0);
alarmManager=(AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,0,3000, pendingIntent);
Intent intentB=new Intent(context, B.class);
pendingIntent=PendingIntent.getBroadcast(this, 0, intentB, 0);
alarmManager=(AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,1000,3000, pendingIntent);
Intent intentC=new Intent(context, C.class);
pendingIntent=PendingIntent.getBroadcast(this, 0, intentC, 0);
alarmManager=(AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,2000,3000, pendingIntent);
我还没有试过,但我认为只要稍加修改就可以了。
不使用任何处理程序来实现此目的。这里这个活动在2秒后开始
Handler handler = new Handler();
Runnable r=new Runnable() {
@Override
public void run() {
startActivity(new intent(xxx.this,yyy.class);
}
};
handler.postDelayed(r, 2000);