Мастера: В моей программе есть следующая проблема: Платформа компиляции: Android Studio 3.2. Возможность теста: Android 8.0. Операция: нажмите «Домой», заставьте прогрем работать в фоновом режиме.все нормально в состоянии зарядки.Если не взимать плату, услуга будет "мертвой" примерно через одну минуту.Как я могу заставить его жить дольше?Благодарю.прикрепленные коды:
======== первая часть: класс активности (частичные коды)
Intent i=new Intent(this,RegistService.class);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
this.startForegroundService(i);
} else {
this.startService(i);
}
======== 2-я часть: класс обслуживания
public class RegistService extends Service {
Timer timer;
int num=0;
public static final String CHANNEL_ID_STRING = "test001";
@Override
public void onCreate() {
super.onCreate();
NotificationManager notificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationChannel mChannel = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
mChannel = new NotificationChannel(CHANNEL_ID_STRING, "test001", NotificationManager.IMPORTANCE_HIGH);
notificationManager.createNotificationChannel(mChannel);
Notification notification = new Notification.Builder(getApplicationContext(), CHANNEL_ID_STRING).build();
startForeground(28, notification);
}
}
@Override
public void onStart(Intent intent, int startId) {
TimerTask task = new TimerTask(){
public void run(){
num=num+1;
Log.v(num+"count","test");
}
};
timer = new Timer();
timer.schedule(task, 1000,1000);
}
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onDestroy() {
super.onDestroy();
}
}