我设法创建了一个从设备收集基本信息的应用程序,如android版本,CPU,总RAM,可用内存等。我需要收集的一些数据是动态的,所以我希望我的应用程序每分钟收集一次数据。我也希望我的应用程序在后台执行。以下是我的代码设置方式:
public class Sniffer extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sniffer);
model_device=(TextView) findViewById(R.id.model1);
versiune_android=(TextView) findViewById(R.id.versiune1);
total_RAM=(TextView) findViewById(R.id.total_RAM1);
free_RAM=(TextView) findViewById(R.id.free_RAM1);
total_disk=(TextView) findViewById(R.id.total_disk1);
free_disk=(TextView) findViewById(R.id.free_disk1);
CPU=(TextView) findViewById(R.id.CPU1);
nivel_baterie=(TextView) findViewById(R.id.baterie1);
//get the requested data and set the corresponding text
getDeviceData();
}
在getDeviceData里面我读取了/ proc文件以及什么来获取所有东西。我可以创建一个可以在后台运行的服务,每隔x分钟通过再次调用getDeviceData来更新数据吗?让我们来看看这个场景:启动我的应用程序,检查数据,打开应用程序,查看我的电子邮件,在youtube上听一首歌然后我回到我的应用程序(不关闭它),收集的数据应该已经更改。我将如何使用服务这样做,我认为这是最好的解决方案。我需要在正确的方向上碰撞,也许是我的东西应该去的骨架代码。感谢