Всем доброго времени суток, не судите строго за мой возможно глупый вопрос, так как еще учусь. Разрабатываю приложение для тестирования Android смартфона, столкнулся с такой проблемой, не могу сделать обновление данных (например обновление частоты, нагрузки). Обновление для батареи сделал через BroadcastReceiver, что б обновляло по смене состояния батареи.
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
battV.setText("");
battV.append("\nМаксимальне значення: " + intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1) + "%");
battV.append("\nПоточне значення: " + intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) + "%");
battV.append("\nТемпература: " + (float) intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1) / 10.0f + "°C");
battV.append("\nНапруга: " + (float) intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1) / 1000.0f + "V");
battV.append("\nТехннологія: " + intent.getStringExtra(BatteryManager.EXTRA_TECHNOLOGY));
battV.append("\nСтан: " + Func.batteryHealth(intent.getIntExtra(BatteryManager.EXTRA_HEALTH, -1)));
battV.append("\nСтатус: " + Func.batteryStatus(intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1)));
battV.append("\nДжерело: " + Func.batteryPlugged(intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1)));
}
};
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
Но для процесора никак не получаеться. Вот клас
public class Cpu extends Activity {
TextView cpuV = null;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cpu);
cpuV = (TextView) findViewById(R.id.cpuV);
Frequency su = new Frequency();
cpuV.setText("");
try {
cpuV.append("\nПоточна частота: " + (double) (su.getCPUFrequencyCurrent() / 1000) + "MHz");
cpuV.append("\nЧастота: " + (double) (su.getCPUFrequencyMin() / 1000) + " - ");
cpuV.append((double) (su.getCPUFrequencyMax() / 1000) + "MHz");
cpuV.append("\nМасштабування частоти: " + (double) (su.getCPUFrequencyMinScaling() / 1000));
cpuV.append(" - " + (double) (su.getCPUFrequencyMaxScaling() / 1000) + "MHz");
cpuV.append("\nВикористання: " + new Func().readUsage() * 100.0f + "%\n");
cpuV.append(new Func().getCPUinfo());
}
catch (Exception e) {}
}
}
Подскажите пожалуйста, буду очень благодарен)