package zhang.phil;import android.content.Context;import android.content.Intent;import android.os.Handler;import android.os.SystemClock;import android.util.Log;import android.widget.Toast;import androidx.core.app.JobIntentService;public class DemoService extends JobIntentService {    public static final String TAG = "后台服务";    private final static int jobId = 0xa001;    @Override    public void onCreate() {        super.onCreate();        Log.d(TAG, "onCreate");    }    public static void enqueueWork(Context context, Intent work) {        enqueueWork(context, DemoService.class, jobId, work);    }    @Override    protected void onHandleWork(Intent intent) {        String s = intent.getStringExtra(TAG);        for (int i = 0; i < 3; i++) {            SystemClock.sleep(5000);            Log.d(TAG, Thread.currentThread().getId()+":"+s + "->" + i);        }        toast("任务结束");    }    @Override    public void onDestroy() {        super.onDestroy();        Log.d(TAG, "onDestroy");    }    private final Handler mHandler = new Handler();    private void toast(final CharSequence text) {        mHandler.post(new Runnable() {            @Override            public void run() {                Toast.makeText(DemoService.this, text, Toast.LENGTH_SHORT).show();            }        });    }}

需要在Androidmanifest.xml定义服务:

上层使用:

package zhang.phil;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent;import android.os.Bundle;import android.util.Log;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        Log.d(DemoService.TAG, Thread.currentThread().getId() + ",MainActivity线程id");        Intent intent = new Intent();        intent.putExtra(DemoService.TAG, "zhangphil");        DemoService.enqueueWork(this, intent);    }    @Override    protected void onDestroy() {        super.onDestroy();        Log.d(DemoService.TAG, "onDestroy,MainActivity");    }}

 

 

《Android JobScheduler 、JobScheduler》https://blog.csdn.net/zhangphil/article/details/97403956

 

《Android任务调度JobScheduler,JobService》https://blog.csdn.net/zhangphil/article/details/93621525

更多相关文章

  1. Android(安卓)wifi触发回连ap的过程
  2. 图片加载的几种模式
  3. Android异步处理三:Handler+Looper+MessageQueue深入详解
  4. Android异步处理四:AsyncTask的实现原理
  5. Android(安卓)Handler机制2之ThreadLocal
  6. Android异步处理四:AsyncTask的实现原理
  7. Android(安卓)Handler机制1之Thread
  8. 【Android(安卓)开发】: Android(安卓)消息处理机制之四: Androi
  9. 修改android公共控件和后台服务

随机推荐

  1. 如何在代码里打开Android手机通知状态栏
  2. 【Android】TextView中Spannable对象的使
  3. Android蓝牙
  4. Android中AnimationDrawable,Animator和A
  5. 我想邀请你和我一起写Android(福利回赠)
  6. Android(安卓)开发笔记 第三季 FragmentP
  7. Android2.1 短信应用解析
  8. android mtk平台内置apk,可卸载恢复出厂设
  9. android设备管理器.md
  10. android系统学习笔记八