在Android系統中,有介面的app一定是有Activity的,沒有介面的app,那就是一個Service了。
Service如何啟動呢?辦法和Activity的啟動一樣,也是Intent對象。我講的是如何寫一個開機後台啟動的app。
首先是AndroidMainfest註冊開機啟動許可權:
還要註冊廣播訊息接受者:
接下來是廣播接收者:
public class BootReceiverextends BroadcastReceiver {
private StringLOG = "BootReceiver";
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
Log.i(LOG, "onReceive");
Intent mBootIntent = new Intent(arg0, MyService.class);
arg0.startService(mBootIntent);
}
}
MyService.Java:
public class APTServiceextends Service {
private String LOG = "APTService";
public void onCreate() {
super.onCreate();
Log.i(LOG, "Oncreate");
Toast.makeText(getApplicationContext(), LOG + "onCreate start!",
Toast.LENGTH_LONG).show();
run(context);
Toast.makeText(getApplicationContext(), LOG + "onCreate end!",
Toast.LENGTH_LONG).show();
}
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
Log.i(LOG, "onBind");
Toast.makeText(getApplicationContext(), LOG, Toast.LENGTH_LONG).show();
returnnull;
}
}
這樣做,你開機的時候就能收到Toast訊息了!
個人辛勤勞動成果,如有轉載,請註明出處,謝謝!