「已注销」 2021-06-22 18:36 采纳率: 0%
浏览 76
已结题

JobService每10分钟自动重启是什么情况?

Activity

class Main : Activity() {
    companion object {
        private const val TAG = "Main"
        private const val JOB_ID = 0
    }
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        Log.d(TAG, "onCreate: ")
        val jobScheduler = getSystemService(JobScheduler::class.java)
        if (jobScheduler.getPendingJob(JOB_ID) == null) {
            jobScheduler.schedule(JobInfo.Builder(JOB_ID, ComponentName(this, MyJobService::class.java)).apply { 
                setOverrideDeadline(0)
            }.build())
        }
    }
}

JobService

class MyJobService: JobService() {

    companion object {
        private const val TAG = "MyJobService"
    }

    override fun onStartJob(params: JobParameters?): Boolean {
        Log.d(TAG, "onStartJob: ")
        return true
    }

    override fun onStopJob(params: JobParameters?): Boolean {
        Log.d(TAG, "onStopJob: ")
        return true
    }

    override fun onCreate() {
        super.onCreate()
        Log.d(TAG, "onCreate: ")
        val handler = Handler(HandlerThread("MyJobService").apply { start() }.looper) {
            Log.d(TAG, "handleMessage: ")
            it.target.sendEmptyMessageDelayed(1, 500)
            true
        }
        handler.sendEmptyMessage(1)
    }

    override fun onUnbind(intent: Intent?): Boolean {
        Log.d(TAG, "onUnbind: ")
        return super.onUnbind(intent)
    }

    override fun onDestroy() {
        super.onDestroy()
        Log.d(TAG, "onDestroy: ")
    }

    override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
        Log.d(TAG, "onStartCommand: ")
        return super.onStartCommand(intent, flags, startId)
    }
}

AndroidManifest

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapplication">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        <activity android:name=".test.jobservice.Main">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <service android:name=".test.jobservice.MyJobService"
            android:permission="android.permission.BIND_JOB_SERVICE"/>
    </application>

</manifest>

输出LOG

2021-06-22 18:14:53.695 21476-21476/com.example.myapplication D/Main: onCreate: 
2021-06-22 18:14:53.740 21476-21476/com.example.myapplication D/DcsSystemManager: onActivityResume: [f1946d1d61194d6eab245cfe580379a9] ComponentInfo{com.example.myapplication/com.example.myapplication.test.jobservice.Main}, referrer = null, reason = LAUNCH_ACTIVITY
2021-06-22 18:14:53.774 21476-21476/com.example.myapplication D/MyJobService: onCreate: 
2021-06-22 18:14:53.776 21476-21504/com.example.myapplication D/MyJobService: handleMessage: 
2021-06-22 18:14:53.822 21476-21476/com.example.myapplication D/MyJobService: onStartJob: 
2021-06-22 18:14:54.276 21476-21504/com.example.myapplication D/MyJobService: handleMessage: 
...
2021-06-22 18:24:53.669 21476-21504/com.example.myapplication D/MyJobService: handleMessage: 
2021-06-22 18:24:53.824 21476-21476/com.example.myapplication D/MyJobService: onStopJob: 
2021-06-22 18:24:53.828 21476-21476/com.example.myapplication D/MyJobService: onUnbind: 
2021-06-22 18:24:53.831 21476-21476/com.example.myapplication D/MyJobService: onDestroy: 
2021-06-22 18:24:54.170 21476-21504/com.example.myapplication D/MyJobService: handleMessage: 
2021-06-22 18:24:54.673 21476-21504/com.example.myapplication D/MyJobService: handleMessage: 
2021-06-22 18:24:55.173 21476-21504/com.example.myapplication D/MyJobService: handleMessage: 
2021-06-22 18:24:55.675 21476-21504/com.example.myapplication D/MyJobService: handleMessage: 
2021-06-22 18:24:56.175 21476-21504/com.example.myapplication D/MyJobService: handleMessage: 
  • 写回答

1条回答 默认 最新

  • CSDN专家-sinJack 2021-06-22 18:50
    关注

    不是自动重启吧,而是十分钟会执行一次。

    评论

报告相同问题?

悬赏问题

  • ¥15 ncode振动疲劳分析中,noisefloor如何影响PSD函数?
  • ¥50 寻找fpga的benchmark
  • ¥50 如何在arduino上,实现用4×4矩阵键盘按键控制2004显示屏输出图中显示功能的代码?
  • ¥15 P1口接8个发光二极管,利用定时计数器1编写程序
  • ¥20 keil5编译找不到.h文件该如何解决
  • ¥15 安卓EVS如何开启服务正常实现功能
  • ¥15 canal读取mysql时报错
  • ¥15 关于 S7-PLCSIM Advanced 5.0本地TCP连接无法读写数据
  • ¥15 关于温度改变石墨烯介电性能(关键词-介电常数)
  • ¥150 HDMI分路器LT86102 的输出在890MHz频点处EMC超标8DB