package cn.zdh.mybroadcastreceive; import android.app.Notification; import android.app.PendingIntent; import android.app.Service; import android.content.Intent; import android.os.Binder; import android.os.IBinder; import android.support.annotation.Nullable; /** * Created by Administrator on 2018/7/20. */ public class MyService extends Service { @Override public void onCreate() { super.onCreate(); startPlayback(); } /** * 启动 * 前台服务 */ private void startPlayback() { int NOTIFICATION_ID = 1; // 创建一个单击通知时将打开的Activity的Intent Intent intent = new Intent(this, MainActivity.class); PendingIntent pi = PendingIntent.getActivity(this, 1, intent, 0); Notification myNotify = new Notification.Builder(this) .setSmallIcon(R.mipmap.ic_launcher).setTicker("通知") .setContentTitle("前台service通知标题") .setContentText("前台service通知内容").setContentIntent(pi) .getNotification(); // 设置notification的flag,表明在点击通知后,通知并不会消失,也在最右图上仍在通知栏显示图标。 // 这是确保在activity中退出后,状态栏仍有图标可提下拉、点击,再次进入activity。 myNotify.flags |= Notification.FLAG_NO_CLEAR; startForeground(NOTIFICATION_ID, myNotify);//重点 } @Override public boolean stopService(Intent name) { if (name.getBooleanExtra("stop", false)) { stop(); } return super.stopService(name); } /** * 停止前台服务 */ public void stop() { //移到后台并移出Notification stopForeground(true);//重点 } @Nullable @Override public IBinder onBind(Intent intent) { return null; } class MyBinder extends Binder { public void toDo() { } } }
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
//启动service
startService(intent2);
//停止service
stopService(intent2);