此时我尝试创建一个 Android TV 应用程序。
例如,我有 3 个活动。我想在 10 秒后调用另一个活动。我怎样才能创建这个使用Android C#?
Activity 1
---------- (after 10 sec) ->
Activity 2
---------- (after 10 sec) ->
Activity 3
---------- (after 10 sec) -> AGAIN to Activity 1
解决这个问题的最佳方法是什么?
我已经找到了解决方案。你必须使用线程。
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);