更新 MainActivity.java
parent
fef6a08ea6
commit
f95229b421
|
|
@ -1,22 +1,17 @@
|
||||||
package com.nbee.echolink;
|
package com.nbee.echolink;
|
||||||
|
|
||||||
import static java.lang.Thread.*;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
import android.view.View;
|
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.work.ExistingPeriodicWorkPolicy;
|
|
||||||
import androidx.work.PeriodicWorkRequest;
|
|
||||||
import androidx.work.WorkManager;
|
|
||||||
|
|
||||||
|
import com.nbee.echolink.async.BatteryOptimizationTask;
|
||||||
import com.nbee.echolink.service.MonitorService;
|
import com.nbee.echolink.service.MonitorService;
|
||||||
import com.nbee.echolink.utils.BatteryOptimizationUtil;
|
import com.nbee.echolink.utils.BatteryOptimizationUtil;
|
||||||
import com.nbee.echolink.utils.HeartbeatWorker;
|
|
||||||
import com.nbee.echolink.utils.PermissionUtils;
|
import com.nbee.echolink.utils.PermissionUtils;
|
||||||
import com.nbee.echolink.utils.ShellUtils;
|
import com.nbee.echolink.utils.ShellUtils;
|
||||||
|
|
||||||
|
|
@ -24,7 +19,6 @@ import java.io.BufferedReader;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileReader;
|
import java.io.FileReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
import timber.log.Timber;
|
import timber.log.Timber;
|
||||||
|
|
||||||
|
|
@ -40,16 +34,13 @@ public class MainActivity extends AppCompatActivity {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_main);
|
setContentView(R.layout.activity_main);
|
||||||
|
|
||||||
isRoot = shellUtils.checkRootPermission();
|
|
||||||
if (!isRoot){
|
|
||||||
Timber.d("未获取root权限: "+ isRoot);
|
|
||||||
}
|
|
||||||
logTextView = findViewById(R.id.logTextView);
|
logTextView = findViewById(R.id.logTextView);
|
||||||
updateLog("初始化日志...");
|
updateLog("初始化日志...");
|
||||||
|
|
||||||
requestIgnoreBattery();
|
requestIgnoreBatteryAsync();
|
||||||
permissionUtils = new PermissionUtils(this);
|
permissionUtils = new PermissionUtils(this);
|
||||||
permissionUtils.checkPermissions();
|
permissionUtils.checkPermissions();
|
||||||
|
|
||||||
// 启动MonitorService服务
|
// 启动MonitorService服务
|
||||||
|
|
||||||
Intent serviceIntent = new Intent(this, MonitorService.class);
|
Intent serviceIntent = new Intent(this, MonitorService.class);
|
||||||
|
|
@ -65,19 +56,26 @@ public class MainActivity extends AppCompatActivity {
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
String logContent = readLogFile();
|
readLogFileAsync();
|
||||||
updateLog(logContent);
|
|
||||||
}
|
}
|
||||||
private void requestIgnoreBattery(){
|
|
||||||
Context context = getApplicationContext();
|
|
||||||
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
|
private void readLogFileAsync() {
|
||||||
boolean hasIgnored = powerManager.isIgnoringBatteryOptimizations(context.getPackageName());
|
new AsyncTask<Void, Void, String>() {
|
||||||
if(!hasIgnored){
|
@Override
|
||||||
BatteryOptimizationUtil.requestIgnoreBatteryOptimization(context);
|
protected String doInBackground(Void... voids) {
|
||||||
Timber.d("不在在优化电池白名单内");
|
return readLogFile();
|
||||||
} else {
|
}
|
||||||
return;
|
|
||||||
}
|
@Override
|
||||||
|
protected void onPostExecute(String logContent) {
|
||||||
|
updateLog(logContent);
|
||||||
|
}
|
||||||
|
}.execute();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void requestIgnoreBatteryAsync() {
|
||||||
|
new BatteryOptimizationTask(this).execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateLog(String newLog) {
|
private void updateLog(String newLog) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue