2016-01-11 42 views
0

我寫Android應用程序,這裏是代碼我的Android應用程序啓動服務之前顯示的佈局

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    startService(new Intent(getBaseContext(), ttt.class)); 
} 

TTT是類擴展服務,保持顯示,每15分鐘在啓動時 一個對話框,它首先等待15分鐘並顯示對話框,然後它將顯示佈局。

setContentView(R.layout.activity_main);startService(new Intent(getBaseContext(), ttt.class)); 之前爲什麼它不首先顯示佈局,而是首先啓動服務?

如何首先顯示佈局,然後在15分鐘後顯示對話框?

+0

你不應該使用服務來處理UI元素(對話)。 – Budius

回答

0

首先請將您的服務ttt重命名爲某個專有名稱。你可以在你的onCreate中啓動一個AlarmManager。

Intent intent = new Intent(getBaseContext(), ttt.class); 
PendingIntent pintent = PendingIntent.getService(getBaseContext(), 0, intent, 0); 
AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE); 
alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 15*60*1000, pintent); 
0

您可以爲此使用處理程序。 嘗試類似:

new Handler().postDelayed(new Runnable() { 
        @Override 
        public void run() { 

         Intent i=new Intent(MainActivity.this,ttt.class); 
         startActivity(i); 
        } 
       }, 900000); 

希望它可以幫助

相關問題