【发布时间】:2019-11-17 12:36:03
【问题描述】:
我正在通过创建一个 Android 应用来学习 Android 编程。但是每当我杀死应用程序服务时也会被杀死。我正在使用JobIntentService。使该应用在后台运行。
JobIntentService 类
public class BackGroundDistanceCalculate extends JobIntentService {
final public static String TAG = "BackGroundDistance";
static void enqueueWork(Context context, Intent job) {
enqueueWork(context, BackGroundDistanceCalculate.class, 1, job);
}
@Override
public void onCreate() {
super.onCreate();
Log.d(TAG, "Service Start");
}
@Override
protected void onHandleWork(@NonNull Intent intent) {
Log.d(TAG, "Execution Started");
int i=0;
for(i=0; i<1000; i++) {
SystemClock.sleep(1000);
}
}
@Override
public boolean onStopCurrentWork() {
Log.d(TAG,"Now It's Stopped");
return super.onStopCurrentWork();
}
@Override
public void onDestroy() {
Log.d(TAG,"Now It's Destroyed");
super.onDestroy();
}
}
MainActivity
Intent backCheck = new Intent(MapsActivity.this, BackGroundDistanceCalculate.class);
BackGroundDistanceCalculate.enqueueWork(this, backCheck);
创建此意图以在 onCreateMethod 中启动 Activity
清单
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<service
android:name=".BackGroundDistanceCalculate"
android:permission="android.permission.BIND_JOB_SERVICE" />
即使应用程序被终止,我可以进行哪些更改以使服务成功运行?提前致谢。
【问题讨论】:
标签: java android android-9.0-pie jobintentservice