2013-05-01 2 views
1

На данный момент я пытаюсь создать приложение для 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 

Каков наилучший способ решить эту проблему?

+0

Просто используйте таймер? –

+0

Есть ли у вас пример использования таймера в Android C#? – lukso

+0

с помощью обработчика вы можете сделать это, но в основном андроиде. –

ответ

2

Я нашел решение для этого. Вы должны использовать Threading.

new Thread(new ThreadStart(() => 
           { 
     Thread.Sleep(10000); 
     RunOnUiThread(() => 
         { 
      Intent i = new Intent(); 
      i.SetClass(this, typeof(Activity2)); 
      StartActivity(i); 

      this.Finish(); 
     }); 


     })).Start(); 
0

Вы можете использовать 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); 

Я не пробовал, но я думаю, что это было бы с небольшой модификацией. не

+0

К сожалению, я ищу решение C#. :( – lukso

0

Используйте не обработчик для достижения this.Here начинается эта активность через 2 секунды

 Handler handler = new Handler(); 
       Runnable r=new Runnable() { 
         @Override 
         public void run() { 
          startActivity(new intent(xxx.this,yyy.class); 
         }   
         }; 
        handler.postDelayed(r, 2000); 
+0

К сожалению, я ищу решение C#. :( – lukso

Смежные вопросы