在Service程序中啟動Activity
發表人:
Seachaos
積分: 2432
積分: 2432
Android的程式除了可見的Activity以外,其實還有在背景服務的Service
只是Service想要用Intent去啟動Activity可能會遇到錯誤,因為沒有加上Flag
!!很重要,Server要啟動Activity一定要加上Intent.FLAG_ACTIVITY_NEW_TASK的Flag
以下範例就可以在Server程序內啟動Activity程序了
[quote]
public class backgroundServer extends Service{
...
public void startMainActivity(){
Intent i = new Intent();
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setClass(backgroundServer.this, mainActivity.class);
startActivity(i);
}
...
}
[/quote]
只是Service想要用Intent去啟動Activity可能會遇到錯誤,因為沒有加上Flag
!!很重要,Server要啟動Activity一定要加上Intent.FLAG_ACTIVITY_NEW_TASK的Flag
以下範例就可以在Server程序內啟動Activity程序了
[quote]
public class backgroundServer extends Service{
...
public void startMainActivity(){
Intent i = new Intent();
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setClass(backgroundServer.this, mainActivity.class);
startActivity(i);
}
...
}
[/quote]