在Android Studio中更改连接并关闭连接之前更新数据库字段

问题描述

我有一个Messenger应用,并且我的数据库中有一个脱机字段,并且想在用户关闭wifi或移动数据时更新此字段吗?像什么应用程序和电报? 我怎样才能做到这一点?我还使用广播和服务来侦听连接状态的更改,但我无法解决此问题。

解决方法

使用JobService ... 举个例子:

OfflineJob类:

public class OfflineJob extends JobService {

@Override
public boolean onStartJob(JobParameters params) {
    //write your code here
    Toast.makeText(this,"job started!",Toast.LENGTH_SHORT).show();

    return false;
}

@Override
public boolean onStopJob(JobParameters params) {
    return false;
}
}

您的活动:

@Override
public void onCreate(Bundle state) {
    super.onCreate(state);
    schedulerService();
}
private void schedulerService() {
    
    // Your scheduler service will be called when the network is available.
    ComponentName component = new ComponentName(getPackageName(),OfflineJob.class.getName());

    JobInfo.Builder builder = new JobInfo.Builder(123,component);
    // Set some other constraints
    builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
    // Schedule it
    mJobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);
    mJobScheduler.schedule(builder.build());

}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...