AndroidManifest.xml
当网络改变时,通过广播启动Service
<service android:name="PlusService" >
</service>
<receiver android:name="PlusReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
public class PlusReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("PlusReceiver","context>>>>>>>");
if (intent.getAction().equals("android.net.conn.CONNECTIVITY_CHANGE")) {
context.startService(new Intent(context,PlusService.class));
}
}
}
public class PlusService extends android.app.Service {
@Override
public IBinder onBind(Intent arg0) {
Log.d("onBind", ">>>>>>>>>");
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.d("onStartCommand", ">>>>>>>>>" + startId + ">>>" + flags);
return START_REDELIVER_INTENT;
}
@Override
public void onCreate() {
Log.d("onCreate", ">>>>>>>>>A.");
super.onCreate();
NotificationManager notiManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(
android.R.drawable.alert_light_frame, "Got it,Birds.",
System.currentTimeMillis());
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
new Intent(Intent.ACTION_VIEW), 0);
notification.setLatestEventInfo(this, "I Love 2012", "2012",
contentIntent);
notiManager.notify(0x11, notification);
}
@Override
public void onDestroy() {
Log.d("onDestroy", ">>>>>>>>>B.");
super.onDestroy();
}
@Override
public void onStart(Intent intent, int startId) {
Log.d("onStart", ">>>>>>>>>C.");
super.onStart(intent, startId);
}
}
Service 通知UI, Notification.